C语言考题(综合版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序基本知识
答案:B main()函数是程序的入口和出口,和其它代码位置没关系。
答案:C C程序基本单位是函数。
答案:A
答案:A
答案:C
答案:D
基本数据类型和基本运算
答案: B 浮点数两种表示方式,一种是普通小数方式,另一种是科学计数法。科学计数法中间为e,前边为[1,10〕的实数表示尾数,后边为整数表示10的指数,正负均可。
答案:C 标识符开头只能是字母或下划线,不能是数字。
答案:D 单引号括起来的应该是单个字符
答案:A 双引号括起来的是字符串
答案:A
答案:A 求余运算两边必须全为整数
答案:D
答案:D 这四种运算符中,非运算级别最高,算术运算比比较运算级别高,最低的是赋值运算
答案:C D 项错误在于scanf从第2个参数开始应该是地址引用
答案:D x先和自减1后的y相加,结果赋给y,再自加1
答案:A 输入时必须包含逗号
答案:C
答案:A B项逻辑或两边都是假,C项做完逻辑与后才可以自加,D项括号内是赋值运算而非比较运算
答案:B x+z后结果已经变成浮点数了
答案:D y=0+1=1
答案:D 3.5/2+11%2/2=1.75+1/2=1.75+0=1.75
答案:B 数轴上一段连续区间必须用两个逻辑表达式相与得到。
答案:B 逻辑与两边明显矛盾
答案:B 0.5+0=0.5
答案:B 4.0/2+2%3=2.0+2=4.0
答案:C
答案:D a|b=3 ,10 右移3位为1
答案:D
答案:D 2+=2+4%2=4
答案:D 非0值经过非运算后变成假,两个假或还是假
答案:A x^y=2,2 左移两位为8
答案:C
答案:A 1/3结果为0,整个式子结果为0
答案:A
分支结构
答案:A 其它三项都是如果k是0,则打印No,否则打印Yes。
答案:A 这是两步操作,n=2已经不是if结构里的了。
答案:A 条件判断为逻辑非,直接执行打印语句。
答案:B
答案:C 余数为3,只能执行default后续printf(),后边没有break(),再执行case 1后边的printf().
循环结构
答案:A
答案:B 两个i - -相当于i-=2
答案:B 括号里的条件先比较,再将i减1
答案:C 其它的i没有变化
答案:A i=1 j=2 0+1+2=3
j=3 3+1+3=7 依次类推,最终m为45 函数
答案:A
答案:D
答案:B
答案:C 传入实参为5和4,函数中两者比较,得到z为5,返回5+5=10并打印。
答案:C 逗号运算符隔开的式子以最后一个部分为准。
答案:A
宏和编译预处理
答案:3*NN=3*N*N-M=3*M+1*M+1-M=3*M+1=3*5+1=16
答案:A 宏定义末尾不加分号
答案:B K*(a+b)=5*(3+4)=35
答案:A B项中宏定义是编译预处理语句,不需要编译,只是字符替换。C项中宏定义中的名字一般常采用大写字母表示,小写也对。D项中C语言程序可以有多条预处理命令。
数组
答案:A 第一趟循环后:2103456789 第二趟后:2143056789 第三趟后:2143650789
第四趟后:2143658709,循环结束,打印即为结果。
答案:D 数组名可以代表整个数组的首地址,或者是第一个元素的地址,而不能来引用第一个元素;C语言中,数组长度一旦固定就不能更改;定义数组时数据类型不能省略。
答案:B 最大下标为7
答案:C
答案:B 二维数组定义时第二维不能省略
答案:B
答案:D
答案:B puts()碰到’\0’就停止输出
答案:A i=1时,打印10-a[2][0]=10-7=3 ,后边依次类推。
答案:B 就是1+3+4+6=14
答案:D
答案:D 二维数组初始化必须要定义好第二维,不要有任何一维超过定义
答案:B 数组首地址用数组名表示
答案:C strlen()函数求长度到’\0’为止
答案:D strupr()是把字符串里所有字母变成大写,strcat()是连接字符串,将第2个字符串接到第一个后边。
指针
答案:C
答案:A 就是两个指针变量交换数据
答案:A 程序含义是对比两个数组里同下标的数据,第一个数组对应数据小的,输出
答案:A 数组名字(首地址)不能进行++运算
答案:B 其它类型都不符合。
答案:D
答案:A 数组首地址不能进行自加运算
答案:C 该指针与数组首地址间距离为3
答案:B
答案:B
答案:B
答案:A
答案:D 自定义函数fn作用就是把实参数组里内的所有元素都加了10
结构体
答案:AB 均可C项重复声明且没划出存储空间,D项数据成员引用错误
答案:B 非指针成员的引用用点号
答案:C
答案:A 应该是p[1].num
答案:D C语言中字符串赋值给结构体成员要用gets(),scanf(),strcpy()这类函数共用体