资源描述:
《2012上2012年上全国信息技术水平考试计算机程序设计技术水平证书C语言考试试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、考号: 姓名:剩余时间:2012年(上)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考试试卷第一大题:单选题(30分) 1.(1分) 设有说明语句char *a="123xyz";则变量a( )。(A) 包含7个字符 (B) 包含6个字符 (C) 包含5个字符 (D) 包含4个字符 2.(1分) 下列定义语句中错误的是( )。(A) int a[]={1,2}; (B) char *a[3]; (C) char s[10]="test"; (D) int n=5,a[n]; 3.(1分) 下面程序的输出结果是( )。
2、#define SU(X,Y) (X)*Yvoid main( ){ int a=3,b=4; printf("%d",SU(a++,b++)); }(A) 12 (B) 15 (C) 16 (D) 20 4.(1分) 下面程序的运行结果是( )。 #include"stdio.h" #include"string.h" void main( ) { char b[30],*chp; strcpy(&b[0],"CH"); strcpy(&b[1],"DEF"); strcpy(
3、&b[2],"ABC"); printf("%s ",b); }(A) CDABC (B) DEFABC (C) ABCDE (D) ABCDEF 5.(1分) 下面程序的输出结果是( )。 #include int gcd(int m, int n) { if(m==n)return m; else if(m>n) return gcd(m-n, n); else return gcd(m, n-m); } void main( ) { printf(″Gcd = %d
4、″, gcd(24, 36)); }(A) Gcd=60 (B) Gcd=24 (C) Gcd=12 (D) Gcd=36 6.(1分) 已知int a=20; a*=2; 则a的值为( )。(A) 40 (B) 22 (C) 18 (D) 20 7.(1分) 已知:char str1[10], str2; 则下列输入语句中正确的是( )。(A) scanf ("%s%c", str1, &str2); (B) scanf ("%s%s", &str1,str2); (C) scanf ("%c%c", &str1,str2); (D)
5、scanf ("%c%s", &str1,str2); 8.(1分) 为了向二进制文件尾部增加数据,打开文件的方式应采用( )。(A) "ab" (B) "rb+" (C) "wb" (D) "wb+" 9.(1分) 下列各函数的首部中正确的是( )。(A) void fun1(var x:integer,var y:integer)(B) void fun1 (int x,y)(C) void fun1 (int x, int y)(D) Sub fun1 (x as integer, y as integer) 10.(1分)
6、 在C语言中,紧跟在关键字if后一对圆括号里的表达式( )。(A) 只能用逻辑表达式(B) 只能用关系表达式(C) 只能用逻辑表达式或关系表达式(D) 可以是任意表达式 11.(1分) 在位运算中,操作数每右移一位,其结果相当于( )。(A) 操作数乘以2 (B) 操作数除以2 (C) 操作数除以4 (D) 操作数乘以4 12.(1分) 若执行fopen函数时发生错误,则函数的返回值是( )。(A) 地址值 (B) 0 (C) 1 (D) EOF 13.(1分) 在C语言中,具有动态申请内存块功能的函数是(
7、 )。(A) malloc() (B) free() (C) new() (D) delete() 14.(1分) C语言规定,以数组名做实参时,它和对应形参之间的数据传递方式是( )。(A) 用户指定传递方式 (B) 无传递 (C) 单向值传递 (D) 地址传递 15.(1分) 下面程序的输出结果是( )。 #include void main() {int a=4,b=3,c=2,d=1;if (b>c&&!(d==a)) printf("%d",(a8、",(a>b?a:d>c?d:b)