1. 以下程序的输出结果是_______.#include main( ) { int num; for( num=0;num<=2;num++)printf(“%d”,num); } (C)A. 1B. 123C. 012D. 12342. 设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是(C)A. 1'B. '3'C. '\0'D. 存在语法错误3. 不能进行++和――运算的数据类型是(D)A. int型B. long型C. double型D. 指针型4. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)A. 0B. 8C. -12D. 105. 下列数组定义正确的是________。
(D)A. int a[5],b[2,3];B. char no(30);C. char x[];D. int x[5]={1,2,3};6. 若a、b均为int型变量,且a=100,则对以下关于for循环语句:for(b=100;a!=b;++a,b++)printf(“————\n");判断正确的是(C)A. 循环体只执行一次B. 是死循环C. 循环体一次也不执行D. 输出————7. 语句if(!i) i++;中的条件表达式“!i”等价于(A)A. i==0B. i!=1C. i!=0D. –I8. 函数原型语句正确的是(B)A. int Function(void a);B. void Function (int);C. int Function(a);D. void int(double a);9. 下面程序输出结果是__________. main( ) { char a[]="programming", b[]="language"; char *p1,*p2; int i; p1=a; p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); } (D)A. gmB. rgC. orD. ga10. 下面程序的输出结果是_______. main() { int x=10,y=10; printf("%d %dn",x--,--y); } (A)A. 10 9B. 9 9C. 9 10D. 10 1011. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,()是正确的输入。
(B)A. 2030,40B. 20 30 40C. 20, 30 40D. 20, 30,4012. 设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是______。
(D)A. 3B. 2C. 1D. 013. 若k为整型,以下while循环()次. int k=10; while (k=0) k=k-1; (C)A. 10次B. 无限循环C. 一次不执行D. 执行一次14. 如果有char* ssl=“09”,则,sizeof(ssl)的值是(A)A. 4B. 10C. 11D. 4015. 以下不正确的C语言标识符是______。
(C)A. AB1B. _ab3C. 4abD. a2_b二、判断题(共 10 道试题,共 40 分。
)1. 模运算符要求两侧均应为整型数据。
(√)2. 一个算法应该具备有穷性、确定性、输入、输出和有效性。
(√)3. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。
(╳)4. 自增运算符和自减运算符只能用于变量,不能用于常量或表达式。
(√)5. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
(√)6. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
(√)7. rewind函数的作用是使指针重新返回文件的开头,此函数无返回值(√)8. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。
(╳)9. 一个int型变量的最大允许值为32767,如果再加1就会溢出。
(√)10. 在程序运行过程中,其值不能被改变的量称为常量(√)1. 用C语言编制的源程序要变为目标程序,必须经过(B )A. 编辑B. 编译C. 解释D. 连接2. 以下叙述中不正确的是____. (C )A. 在一个函数中,可以有多条return语句B. 函数的定义不能嵌套,但函数的调用可以嵌套C. 函数必须有返回值D. 不同的函数中可以使用相同名字的变量3. 关于函数的参数在调用和返回过程中的值,下列说法哪个是正确的(B )A. 实参不会改变B. 实参可能会改变C. 如果是指针,肯定不会改变D. 如果不是指针,可能会改变4. 已知字符‘b’ 的ASCII码为98 ,语句printf ("%d,%c", ’b’,’b’+1 ) ;的输出为______。
(B )A. 98,bB. 98,cC. 98,99D. 语句不合法5. 若x是整型变量,表达式(x=10.0/4.0) 的值是(D )A. 2.5B. 2.0C. 3D. 26. 一个C程序的执行是从(A )A. main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main()函数开始,直到最后一个函数结束7. 有以下程序片段int n=0,p; do { scanf(%d",&p); n++; } while(p!=12345&&n<3); 此处do-while 循环的结束条件是( D )A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或且n的值小于3D. p的值等于12345或且n的值大于等于38. 下面程序的输出结果是__________. main() { int x=102,y=012; printf("%2d,%2d",x,y);} (C )A. 10,01B. 02,12C. 102,10D. 02,109. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C )A. 0B. 8C. -12D. 1010. 如果有char* ssl=“09”,则,sizeof(ssl)的值是(A )A. 4B. 10C. 11D. 4011. 下列关于#include命令的叙述中,错误的是(C )A. #include命令中,文件名可以用双引号或尖括号括起来B. 一个被包含文件中又可以包含另一个被包含文件C. 一个#include命令中可以指定多个被包含文件D. 一个#include命令中只能指定一个被包含文件12. C编译程序是(C )A. C程序的机器语言版本B. 一组机器语言指令C. 将C源程序编译成目标程序的程序D. 命令计算机执行指定的操作13. 当调用函数时,实参是一个数组名,则向函数传送的是(B )A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值14. 定义int x,y;执行y=(x=1,++x, x+2)语句后,y的值是(D )A. 1B. 2C. 7D. 415. 以下选项中可作为C语言合法常量的是(A )A. -8B. -080C. -8e1.0D. -80.0e二、判断题(共 10 道试题,共 40 分。
)1. 字符型变量用来存放字符常量,可以存放多个字符。
(╳)2. 使用getchar函数可以不添加#include<stdio.h>;命令。
(╳)3. 在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。
(╳)4. C语言的关键字都是小写的。
(√)5. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。
(√)6. C语言程序总是从主函数开始执行,在主函数结束。
(√)7. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
(√)8. C语言中没有逻辑类型但有集合类型。
(╳)9. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
(√)10. switch语句中,多个case可以共用一组执行语句。
(√)北航《C语言程序设计》在线作业三一、单选题(共 15 道试题,共 60 分。
)1. 以下叙述中错误的是(C )A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B. 数组名代表的是数组所占存储区的首地址,其值不可改变C. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D. 可以通过赋初值的方式确定数组元素的个数2. 在C程序中,若对函数类型未加说明,则函数的隐含类型为(A )A. intB. doubleC. voidD. char3. 与十进制数35相等的二进制数是______。
(A )A. 100011B. 010011C. 100110D. 1001014. 若有定义:int x; 要将x强制转换为双精度型,应该写成(C )A. x(double)B. x(double)C. (double)xD. double(x)5. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(C )A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,()是正确的输入。
(B )A. 2030,40B. 20 30 40C. 20, 30 40D. 20, 30,407. 以下程序的输出结果是_______.#include main( ) { int num; for( num=0;num<=2;num++)printf(“%d”,num); } (C )A. 1B. 123C. 012D. 12348. 设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是______。
(D )A. 3B. 2C. 1D. 09. 已知:char c='A';int i=1,j;,执行语句j=!c&&i++;,则i和j的值是______。