C语言选择题

练习二级选择题,点击选项即可查看结果

第101题. fopen打开文件使用模式"w",下面说法正确的是()
正确选项:
解析:"w"只写模式:文件不存在就新建文件;如果文件已经存在,直接截断清空全部旧内容,从头写入。"a"代表追加;"r"只读模式,文件不存在返回NULL。
第102题. 下面typedef描述正确的是()
正确选项:
解析:typedef不会创造出新类型,只是给已有类型起别名。typedef int MyInt; MyInt等价int。typedef编译阶段处理,#define才是预处理文本替换,二者不能混淆。
第103题. 执行 int n=0; while(n++<3); printf("%d",n);输出结果为()
正确选项:
解析:后置n++:拿n旧值比较,比较结束后n自增。n=0:0<3成立 n=1;n=1:1<3成立 n=2;n=2:2<3成立 n=3;n=3:3<3条件不成立,但依然执行n++,n=4。while后面分号是空循环体,直接输出4。
第104题. 若定义 char s[]="xyz\0123";,执行puts(s)输出结果是()
正确选项:
解析:"\0"是字符串结束标记,遇到'\0',puts等字符串函数立刻停止处理。内存中虽然数组保存后面字符,但输出只会打印xyz。注意:\0后面数字不会参与字符串输出。
第105题. 下面标识符中,属于C语言关键字的是()
正确选项:
解析:static是C语言标准关键字,全部小写。C语言关键字区分大小写,Int、STATIC都不是关键字,可以做变量名。关键字不能用作变量、函数标识符。
第106题. 32位编译器下,struct T { char c; short s; int i; };该结构体sizeof大小是()
正确选项:
解析:结构体内存对齐规则,对齐单位取最大成员int占4字节。char占1字节,补齐1字节空洞;short占2字节;int占4字节;合计1+1+2+4=8字节。不是简单直接相加1+2+4=7。
第107题. 执行 int x; scanf("%d",&x);,scanf函数返回值含义是()
正确选项:
解析:scanf返回成功匹配赋值的数据项个数。这里读取1个整数成功返回1;输入字母无法转数字匹配失败返回0;读到文件结束EOF返回‑1。很多同学误以为返回读取到数字,属于高频易错点。
第108题. 下面哪一个表达式可以判断int变量x是偶数()
正确选项:
解析:取模%,偶数除以2余数等于0。x%2==0代表偶数;x%2!=0代表奇数。注意负数取模C语言结果符号跟随被除数。x/2==0只能判断‑1、0、1,不能用来判断偶数。
第109题. 执行 int a=1,b=2,c=3; c = a>b ? a : b;,变量c的值为()
正确选项:
解析:三目运算符格式:条件 ? 表达式1 : 表达式2。条件a>b即1>2结果为假,执行冒号后面b。c=b,c等于2。三目运算符优先级较低,复杂场景建议加上小括号。
第110题. C语言中,关于全局变量描述错误的是()
正确选项:
解析:全局变量定义在所有函数外面,整个程序各个函数都可以访问。存储静态存储区,程序启动分配内存,程序结束释放,未手动初始化默认值0。局部变量会屏蔽同名全局变量。