计算机类 二级 C
2013年9月全国计算机等级《二级C语言程序设计》上机临考冲刺试卷(1) 43 题 含答案 C
1 单选题 1 / 43
若有下列定义(设int类型变量占2个字节): int i=8,j=9; 则下列语句: printf("i=%%d,j=%%d\n",i,j); 输出的结果是( )。
A i=8,j=9 B i=%d,j=%d C i=%8,j=%9 D 8,9
查看答案 B. i=%d,j=%d
2 单选题 2 / 43
下列描述错误的是( )。
A 继承分为多重继承和单继承 B 对象之问的通信靠传递消息来实现 C 在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征 D 类是具有共同属性、共同方法的对象的集合
查看答案 C. 在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征
3 单选题 3 / 43
以下叙述中正确的是( )。
A 预处理命令行必须位于C源程序的起始位置 B 在C语言中,预处理命令行都以“#”开头 C 每个C程序必须在开头包含预处理命令行:#include D C语言的预处理不能实现宏定义和条件编译的功能
查看答案 B. 在C语言中,预处理命令行都以“#”开头
4 单选题 4 / 43
交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。
A & B ^ C || D ~
查看答案 B. ^
5 单选题 5 / 43
有如下程序: main() { int a=2,b=-1.c=2; if(a<0)if(b<0)c=0; else c++; printf("%d\n",c); } 该程序的输出结果是( )。
A 0 B 1 C 2 D 3
查看答案 C. 2
6 单选题 6 / 43
两个或两个以上模块之间联系的紧密程度称为( )。
A 耦合性 B 内聚性 C 复杂性 D 数据传输特性
查看答案 A. 耦合性
7 单选题 7 / 43
下列程序的输出结果是( )。 #include main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=1; case 1; case 2:a+=2; default:a+=3; } } printf("%d",a); }
A 19 B 1 C 6 D 8
查看答案 A. 19
8 单选题 8 / 43
执行下列程序后,输出的结果是( )。 #include #define S(X) X*X void main() { int a=9,k=3,m=2; a/=S(k+m)/S(k+m): printf("%d",a); }
A 1 B 4 C 9 D 0
查看答案 D. 0
9 单选题 9 / 43
若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是( )。
A &t[3][2] B t[3] C t[l] D t[2][2]
查看答案 C. t[l]
10 单选题 10 / 43
若希望下列的程序运行后输出25,程序空白处的正确选项是( )。 main() { int id=50,a[]=(7,4,10,5,8}; for( ) j+=a[i]; printf("%d",j-40); }
A i=1;i<4;++i B i=l;i<3;++i C i=4;i>2;i-- D i=2;i<4;++i
查看答案 D. i=2;i<4;++i
11 单选题 11 / 43
当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。
A scanf() B getchar() C gets() D getc()
查看答案 C. gets()
12 单选题 12 / 43
已知字符'A'的ASCⅡ代码值是65,字符变量c1的直是'A',c2的值是'D'。执行语句printf("%d,%d",c1,c2-2);后,输出结果是( )。
A A,B B A,68 C 65,66 D 65,68
查看答案 C. 65,66
13 单选题 13 / 43
有以下程序: main() { int i,n=0: for(i=2;i<5;i++) { do { if(i%3) continue: n++: }while(!i); n++: } printf("n=%d\n",n); } 程序执行后输出结果是( )。
A n=5 B n=2 C n=3 D n=4
查看答案 D. n=4
14 单选题 14 / 43
下列程序的运行结果为( )。 #include main() { struct date {int year,month,day; }today; printf("%d\n",sizeof(struct date)); }
A 8 B 6 C 10 D 12
查看答案 B. 6
15 单选题 15 / 43
下列关于信息系统的叙述中,错误的是( )。
A 广播电视是一种双向的、点到多点的信息交互系自 B 网络聊天是一种双向的,以信息交互为主要目的系统 C 电话是一种双向的、点对点的、以信息交互为主要的的系统 D 雷达是一种以感测和识别为主要目的的系统
查看答案 A. 广播电视是一种双向的、点到多点的信息交互系自
16 单选题 16 / 43
当执行下面的程序时,如果输入ABC,则输出结罘是( )。 #include #include main( ) { char ss[10]="1,2,3,4,5": gets(ss);strcat(ss,"6789");printf("%s\n",ss); }
A ABC6789 B ABC67 C 12345ABC6 D ABC456789
查看答案 A. ABC6789
17 单选题 17 / 43
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。
A 模块间的关系 B 系统结构部件转换成软件的过程描述 C 软件层次结构 D 软件开发过程
查看答案 B. 系统结构部件转换成软件的过程描述
18 单选题 18 / 43
视图设计一般有3种设计次序,下列不属于视图设计次序的是( )。
A 自顶而下 B 由内向外 C 由外向内 D 自底向上
查看答案 C. 由外向内
19 单选题 19 / 43
若已包括头文件且已有定义char sl [18],s2={"ABCDE")和int i,现要将字符串”ABCDE”赋给sl,下列语句错误的是( )。
A strcpy(s1,s2) B strcpy(s1,"ABCDE"); C sl="ABCDE"; D for(i=0;i<6;i++)sl[i]=s2[i]
查看答案 C. sl="ABCDE";
20 单选题 20 / 43
作为信息处理热点技术之一的“多媒体技术”中的媒体,强调的是( )。
A 存储媒体 B 表现媒体 C 传输媒体 D 感觉媒体
查看答案 D. 感觉媒体
21 单选题 21 / 43
设int x=7,则~x的值是( )。
A -8 B 7 C -1 D 1
查看答案 A. -8
22 单选题 22 / 43
以下程序的输出结果是( )。 #define M(x,y,z)x*y+z main( ) { int a=l,b=2,c=3; printf("%d\n",m(a+b.b+c,c+a)); }
A 19 B 1 7 C 15 D 12
查看答案 D. 12
23 单选题 23 / 43
语句:“printf("%d",(a=)&&(b=-2));”的输出结果是( )。
A 无输出 B 结果是不确定 C -1 D 1
查看答案 D. 1
24 单选题 24 / 43
有以下程序: main() { union { char ch[2]; int d; }s; d=0x4321; printf("%x,%x\n",S.ch[0],S.ch[l]); } 在16位编译系统上,程序执行后的输出结果是( )
A 21,43 B 43,21 C 43,00 D 21,00
查看答案 A. 21,43
25 单选题 25 / 43
数据库系统的核心是( )。
A 数据模型 B 数据库管理系统 C 数据库 D 数据库管理员
查看答案 B. 数据库管理系统
26 单选题 26 / 43
有以下程序段: int x=3; do {printf("%d",x-=2);) while(!(--x)); 其输出结果是( )。
A 1 B 3 0 C 1 -2 D 死循环
查看答案 C. 1 -2
27 单选题 27 / 43
下列叙述中不正确的是( )。
A 在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B 在C的函数中,最好使用全局变量 C 外部变量可以在函数之间传递数据 D 自动变量实质上是一个函数内部的局部变量
查看答案 B. 在C的函数中,最好使用全局变量
28 单选题 28 / 43
运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。 main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a<B) {t=a;a=b.b=t;) if(a<C) {t=a;a=c;c=t;) it(b<C) {t=b;b=C;c—=;) printf("%f\n%f\n%f\n",a,b,c); }
A 1.00 2.00 3.00 B 1.00 3.00 2.00 C 1 3 2 D 3.00000 2.00000 1.00000
查看答案 D. 3.00000 2.00000 1.00000
29 单选题 29 / 43
设x=011050,则x=x&01252的值是( )。
A 0000001000101000 B 1111110100011001 C 0000001011100010 D 1100000000101000
查看答案 A. 0000001000101000
30 单选题 30 / 43
定义结构体数组: struct stu { int num; char nameE20]; }X[5]={1,"LI",2,"ZHAO",3,"WANG",4," ZHANG",5,"LIU"); for(i=1;i<5;i++) printf("%d%c",x[i].num,x[i].name[2]); 以上程序段的输出结果为( )。
A 2A3N4A5U B 112A3H4I C 1A2N3A4U D 2H3A4H5I
查看答案 A. 2A3N4A5U
31 单选题 31 / 43
设有以下语句: int a=1,b=2,c; c=a^(b<<2); 执行后,c的值为( )。
A 6 B 7 C 8 D 9
查看答案 D. 9
32 单选题 32 / 43
有以下程序: main() { int x,i; for(i=l;i<=50;i++) { x=i: if(x%2=0) if(x%3=0) if(X%7=0) printf(”%d,i)”; } } 输出结果是( )。
A 28 B 27 C 42 D 4l
查看答案 C. 42
33 单选题 33 / 43
以下程序的输出结果是( )。 main() { int a[3][3]=“l,2),{3,4),{5,6)},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf(”%d\n”,s); }
A 18 B 19 C 20 D 21
查看答案 A. 18
34 单选题 34 / 43
以下正确的字符串常量是( )。
A "\\\" B 'abc' C Olympic Games D ""
查看答案 D. ""
35 单选题 35 / 43
下列叙述中错误的是( )。
A 列表框和组合框都有List属性 B 列表框有Selected属性,而组合框没有 C 列表框和组合框都有Style属性 D 组合框有Text属性,而列表框没有
查看答案 C. 列表框和组合框都有Style属性
36 单选题 36 / 43
设有二元关系R和三元关系s,下列运算合法的是( )。
A R∩S B R∪S C R-S D R×S
查看答案 D. R×S
37 单选题 37 / 43
下列判断正确的是( )。
A char a="ABCD":等价于char*a;*a="ABCD": B char str[10]={"ABCD"}:等价于char str[10];str []={"ABCD"}; C char*s="ABCD":等价于char s;*s="ABCD"; D char c[5]="ABCD",d[5]="ABCD":等价于char c [5]-d[5]="ABCD";
查看答案 D. char c[5]="ABCD",d[5]="ABCD":等价于char c [5]-d[5]="ABCD";
38 单选题 38 / 43
有以下程序: main() { int num[4][4]={1,2,3,4},{5,6,7,8},{9,10,11, 12,},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<I;J++)PRINTF("%4C",''); for(j=________;J<4;j++)printf("%4d",num [i][j]); printf("\n");}} 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是( )。
A i-1 B i C i+1 D 4一i
查看答案 B. i
39 单选题 39 / 43
设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是( )。
A (EXP==0) B (EXP!=0) C (EXP==1) D (EXP!=1)
查看答案 B. (EXP!=0)
40 单选题 40 / 43
结构化程序设计的3种结构是( )。
A 顺序结构、选择结构、转移结构 B 分支结构、等价结构、循环结构 C 多分支结构、赋值结构、等价结构 D 顺序结构、选择结构、循环结构
查看答案 D. 顺序结构、选择结构、循环结构
41 主观题 41 / 43
请补充函数proc(),该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入“abcabcabcab”,c=b时,b的输出为“abcabcaca”;如果str的输入为“abcabcabca”,则b的输出为“abcabcabca”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅程函数prOC()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #define M 80 void proc(char str[],char b[],char c) { int i=0,j=0; int n=0: int m=0: while(str[i]!='\0') { if(str[i]==c) n++: i++: } 【1】 ; if(n%2) { while(str[j]!='\0 ') { b[j]=str[j]; j++; } b[j]='\0'; } else { while(str[i]!='\0 ') { b[j++]=str[i]; if(str[i]==c) m++: if((m>n/2)&&(str[i]==c)) 【2】 ; i++: } 【3】 ; } } void main() { char str[M],b[M]; char C; system("CLS"); printf("Enter the strin9:\n"); gets(str); printf("Enter the character of the string deleted:"): scanf("%C",&c); proc(str,b,c); printf("The new string is:%s\n",b); }
查看答案 【1】i=0【2】j--【3】b[j]='\0 '
42 主观题 42 / 43
下列给定程序中,函数proc()的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include #include //****found**** int proc(char str[]) { char c; unsigned i,j; for(i=0;i<STRLEN(STR)-1;I++) for(j=i+1;j<STRLEN(STR);J++) if(str[i]>str[j]) { c=str[j]: //****found**** str[j]=str[i++]; str[i]=c; } } void main() { char str[81]; system("CLS"); printf("\nPlease enter a character string:"); gets(str); printf("\n\nBefore sorting:\n%s",str); proc(str); printf("\nAfter sorting decendingly:\n %s",str); }
查看答案 1.错误:int proc(char str[]) 正确:void proc(char、tr[]) 2.错误:str[j]=str[++]; 正确:str[j]=str[i];
43 主观题 43 / 43
请编写一个函数proc(),它的功能是:求出1~m(含m) 能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 例如,若传给m的值为70,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 55 56 63 66 70 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。 试题程序: #include #include #include #define N 100 void proc(int m,int*a,int*n) { } void main() { int arr[N],n,k; system("CLS"); proc(70,arr,&n); for(k=0;k<N;K++) if((k+1)%20==0)//每行输出20个数 { printf("%4d",arr[k]); printf("\n"); } else printf("%4d",arr[k]); printf("\n"); }
查看答案 void proc(int m,int*a,int*n) { int i,j=0; for(i=1;i<=m;i++)//进行m次循环 if(i%7==0||i%11==0)//能被7或11整除的所有整数 a[j++]=i;//符合条件的数放在数组a中 *n=j;//返回这些数的个数 }