A.*p B.a[10] C.*a D.a[p-a] 9.若有以下数组说明,则数值最小的和最大的元素下标分别是( )。
int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A. 1,12 B. 0,11 C. 1,11 D. 0,12 10.在调用fopen函数打开文件时,不需要的信息是( )。
A.文件名 B.存放文件指针的变量名 C.使用方式
D.文件大小
1.正确的C语言标识符是( )。
A._buy_2 B.2_buy C.?_buy D.buy? 2.下选项中,合法的实型常数是( )。
A.5E2.0 B.E-3 C.2E0 D.1.3E
3.设有语句 int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是( )。
A.3 B.0 C.9 D.-12 4.判断char型变量s是否为小写字母的正确表达式是( )。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 5. C语言可执行程序的开始执行点是( )。 A.程序中第一条可执行语句 C.程序中的main函数
B.程序中第一个函数
D.包含文件中的第一个函数
6. 退出循环而不终止函数的执行的有效方法是( )。
A.break B.continue C.return D.exit 7.若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是( )。
A.i=*p; B.*p=*&j; C.i=&j; D.i=**p; 8. 若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是( )。
A.a[p] B.p[a] C.*(p+2) D.p+2
9. 结构体变量z的定义为struct abc{int x;float y}z;则变量z在内存中所占的字节数为( )。
A.4
B.8
C.12
D.16
10.以下叙述中错误的是( )。
A.顺序文件不可以先读文件的末尾 B.程序结束时,已打开的文件必须关闭 C.文件必须先打开才能对文件进行读写
D.可以在文件打开后,再指定要使用的文件的方式 10.在C语言中文件存取方式中,文件__________ A.只能顺序存取 B.只能随机存取
C.可以顺序存取,也可以随机存取 D.只能从文件的开头存取 1. C语言源程序文件经编译后产生的目标文件的扩展名为_______ A.C
B. Cpp
C. Obj
D.Exe
2. 在C语言中,逻辑值“真”用__________来表示。
A.true B. 0 C. 1 D. 非0的数
3. 设有int a=3,b;执行语句b=a++;后,变量a,b的值为__________
A.a=3,b=3 B. a=4,b=4; C. a=3,b=4 D.a=4,b=3 4. 设有定义int n=2,i=3;执行语句n*=i+1后,n的取值为_______
A.4 B. 6
C. 7
D. 8
5. 设有定义int a=3,b,执行语句b=a>3?2:1;后变量b的值为__________
A. 0
B. 1
C. 2
D. 3 D. 11
6. 若有定义int i,x; 执行语句for(i=1;i<10;i++) x=i ; 后,变量x的值为_______ A. 1
B. 9
C. 10
7. 字符串\的长度是
A.8 B. 9
C. 10 D.11
8. 数组初始化为:int a[5]={1,2,3,4,5}; 则表达式a[1]+a[2]的值为_______
A. 3
B. 4
C. 5
D. 7
9. 若有定义int x=3,*p; 以下赋值操作正确的是________
A. p=x;
B. p=*x;
C. p=&x;
D. *p=x;
10. 通过return语句,函数最多可有______返回值。
A. 0 B. 1 C. 2 D. 任意多个
1. 判断char类型变量c是否为数字字符的正确表达式为__________
A.0<=c<=9 B. '0'<=c<='9' C. c>=0 || c <=9 D. '0'<=c && c<='9' 2. 设有定义int n=10,i=4;执行语句n%=i+1后,n的取值为_______
A.0 B. 1
C. 2
D. 3
3. 设有定义char a;int b;float c,表达式a+b+c计算结果的数据类型为_____
A. char
B. int
C. float
D. double
4. 若有定义int x=2; 执行语句while(x) x-- ; 后,变量x的值为_______ A. 无穷循环
B. 0
C. -1
D. 2
5. 若有定义int x=3,y;且已定义的函数fun1和fun2的函数原型为int fun1(int n);void fun2(int m),以下语句中语法错误的是_______
A. y=fun1(x);
B. fun2(x); C. fun2(fun1(x));
D. y=fun2();
6. 数组初始化为:int a[10]={1,3,5,7}; 则数组a中的元素个数为_______
A. 10
B. 4
C. 不确定
D. 11
7. 若有定义int x=3,y,*p;执行语句p=&x;后,以下赋值操作错误的是________
A. y=x;
B. y=*p;
C. y=&p;
D. p=&y;
8. 若有定义int a[2][2]={1,2,3,4};则数组元素a[1][1]的值为______ A. 1 B. 2 C. 3 D. 4
9.调用fopen函数打开一个文件失败时,函数的返回值是__________ A.-1 B.EOF C.NULL D.1
10.若有struct {int x;int y;}a[2]={1,4,2,8};则a[0].y/a[1].x的值为_______ A.0 B.1 C.2 D.4 二、写出以下程序的运行结果 1. #include
int x=3,y=5; while(x x=x+2; } printf(\ } 1. main() { int x=3,y=5; if(y y=x+y; y++; else x=x+y; printf(\ } 1. #include main() { int s=0,x; x=32764; while (x!=0) { s=s+x; x=x/10; } printf(\} 2. #include main() { int i,a=0; for(i=1;i<=5;i++) switch(i) { case 1:a+=1; case 2:a+=2;break; case 3:a+=3; default:a+=4; } printf(\} #include void swap(int *x,int *y) { int t; t=*x; *x=*y; *y=t; printf(\} main() { int a=5,b=12; swap(&a,&b); printf(\} 3. 1. #include main() { int x,y,r; x=105; y=75; r=x%y; while (r!=0) { x=y; y=r; r=x%y; } printf(\} 2. #include main() { int i,a=0; for(i=1;i<=5;i++) switch(i) { case 1:a+=1; case 2:a+=2;break; case 3:a+=3; default:a+=4; } printf(\} 3. #include void swap(int x,int y) { int t; t=x; x=y; y=t; printf(\} main() { int a=5,b=12; swap(a,b); printf(\} 运行结果: 1. #include main() { int s=0,i; i=1; while (i<=100) { s=s+i; i++; if (s>20) break; } printf(\} 2. #include