计算机二级C语言考试系统题库.docx
- 文档编号:3835598
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:143
- 大小:62.34KB
计算机二级C语言考试系统题库.docx
《计算机二级C语言考试系统题库.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言考试系统题库.docx(143页珍藏版)》请在冰豆网上搜索。
计算机二级C语言考试系统题库
A━━━━━━━━━━━━━━━
二、判断共10题(共计10分)
━━━━━━━━━━━━━━━
第1题逻辑表达式-5&&!
8的值为1.答案:
N
第2题如果被调用函数的定义出现在主调函数之前,可以不必加以声明.答案:
Y
第3题十进制数15的二进制数是1111.答案:
Y
第4题C语言的函数可以嵌套定义.答案:
N
第5题若有定义和语句:
inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21.答案:
Y
第6题结构体类型只有一种。
答案:
N
第7题若有说明intc;则while(c=getchar());是正确的C语句。
答案:
Y
第8题C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式.答案:
N
第9题若有宏定义:
#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
答案:
N
第10题C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
答案:
Y
第6题inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为0。
答案:
Y
第7题语句printf("%f%%",1.0/3);输出为0.333333。
答案:
N
第8题c程序总是从程序的第一条语句开始执行.答案:
N
第10题若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
答案:
N
第4题c语言所有函数都是外部函数.答案:
N
第5题char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
答案:
N
第6题#define和printf都不是C语句。
答案:
Y
第7题若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。
答案:
Y
第10题整数-32100可以赋值给int型和longint型变量。
答案:
Y
第3题while和do…while循环不论什么条件下它们的结果都是相同的.答案:
N
第5题若i=3,则printf("%d",-i++);输出的值为-4。
答案:
N
第7题在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
答案:
Y
第9题在C语言中,此定义和语句是合法的:
enumaa{a=5,b,c}bb;bb=(enumaa)5;答案:
Y
第4题两个字符串中的字符个数相同时才能进行字符串大小的比较答案:
N
第5题结构体类型只有一种。
答案:
N
第8题在C程序中,函数既可以嵌套定义,也可以嵌套调用答案:
N
第9题若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。
答案:
N
第5题若有定义和语句:
inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:
10,A,12.5,则a=10,c='A',f=12.5.答案:
Y
第6题若有宏定义:
#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
答案:
N
第7题用fopen("file","r+");打开的文件"file"可以进行修改。
答案:
Y
第9题一个include命令可以指定多个被包含的文件。
答案:
N
第10题进行宏定义时,宏名必须使用大写字母表示。
答案:
N
第5题7&3+12的值是15。
答案:
N
第9题C语言中只能逐个引用数组元素而不能一次引用整个数组。
答案:
Y
第10题charc[]="VeryGood";是一个合法的为字符串数组赋值的语句。
答案:
Y
第5题在TurboC中,下面的定义和语句是合法的:
file*fp;fp=fopen("a.txt","r");答案:
N
第6题若i=3,则printf("%d",-i++);输出的值为-4。
答案:
N
第7题若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。
答案:
N
第8题C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式.答案:
N
第9题通过return语句,函数可以带回一个或一个以上的返回值。
答案:
N
第10题C语言中只能逐个引用数组元素而不能一次引用整个数组。
答案:
Y
━━━━━━━━━━━━━━━
一、填空共10题(共计10分)
━━━━━━━━━━━━━━━
第1题(1.0分)
若在程序中用到"strlen()"函数时,应在程序开头写上包含命令#include"【1】".
答案:
=======(答案1)=======
string.h
第2题(1.0分)
从函数的形式上看,函数分为无参函数和【1】两种类型.
答案:
=======(答案1)=======
有参函数
第3题(1.0分)
已知:
inti=8,j=10,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】。
答案:
=======(答案1)=======
9
=======(答案2)=======
10
第4题(1.0分)
C语言中一个函数由函数首部和【1】两部分组成.
答案:
=======(答案1)=======
函数体
第5题(1.0分)
已知a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为【1】.
答案:
=======(答案1)=======
1
第6题(1.0分)
语句:
x++;++x;x=x+1;x=l+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句【1】.
答案:
=======(答案1)=======
x+=1
第7题(1.0分)
C语言中调用【1】函数来打开文件.
答案:
=======(答案1)=======
fopen
=========或=========
fopen()
第8题(1.0分)
求字符串长度的库函数是【1】,只写函数名即可.
答案:
=======(答案1)=======
strlen
第9题(1.0分)
设c语言中,int类型数据占2个字节,则long类型数据占【1】个字节,short类型数据占【2】个字节.
答案:
=======(答案1)=======
4
=======(答案2)=======
2
第10题(1.0分)
在C程序中,数据可以用二进制和【1】两种代码形式存放.
答案:
=======(答案1)=======
ASCII
━━━━━━━━━━━━━━━
二、判断共10题(共计10分)
━━━━━━━━━━━━━━━
第1题(1.0分)
如果被调用函数的定义出现在主调函数之前,可以不必加以声明.
答案:
Y
第2题(1.0分)
逻辑表达式-5&&!
8的值为1.
答案:
N
第3题(1.0分)
十进制数15的二进制数是1111.
答案:
Y
第4题(1.0分)
C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式.
答案:
N
第5题(1.0分)
若有说明intc;则while(c=getchar());是正确的C语句。
答案:
Y
第6题(1.0分)
inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列
的元素赋初值,其余元素值为0。
答案:
Y
第7题(1.0分)
语句printf("%f%%",1.0/3);输出为0.333333。
答案:
N
第8题(1.0分)
c程序总是从程序的第一条语句开始执行.
答案:
N
第9题(1.0分)
若有定义和语句:
inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++)sum+=a[i][2-i];则sum=21.
答案:
Y
第10题(1.0分)
若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
答案:
N
━━━━━━━━━━━━━━━━━
三、单项选择共30题(共计30分)
━━━━━━━━━━━━━━━━━
第1题(1.0分)
C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为
A:
.c
B:
.obj
C:
.exe
D:
.bas
答案:
B
第2题(1.0分)
下列()表达式的值为真,其中a=5;b=8;c=10;d=0
A:
a*2>8+2
B:
a&&d
C:
(a*2-c)||d
D:
a-b 答案: D 第3题(1.0分) C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件 A: .c B: .obj C: .exe D: .bas 答案: C 第4题(1.0分) C语言源程序名的后缀是 A: exe B: c C: obj D: cp 答案: B 第5题(1.0分) 从循环体内某一层跳出,继续执行循环外的语句是 A: break语句 B: return语句 C: continue语句 D: 空语句 答案: A 第6题(1.0分) 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是 A: extern B: register C: auto D: static 答案: D 第7题(1.0分) 下列数据中属于"字符串常量"的是 A: ABC B: "ABC" C: 'ABC' D: 'A' 答案: B 第8题(1.0分) 若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,___是正确的输入 A: 2030,40 B: 203040 C: 20,3040 D: 20,30,40 答案: D 第9题(1.0分) C语言的if语句中,用作判断的表达式为 A: 任意表达式 B: 逻辑表达式 C: 关系表达式 D: 算术表达式 答案: A 第10题(1.0分) 能正确表示逻辑关系: "a≥10或a≤0"的C语言表达式是 A: a>=10ora<=0 B: a>=0|a<=10 C: a>=10&&a<=0 D: a>=10||a<=0 答案: D 第11题(1.0分) 逻辑运算符两侧运算对象的数据类型()。 A: 只能是0或1 B: 只能是0或非0正数 C: 只能是整型或字符型数据 D: 可以是任何类型的数据 答案: D 第12题(1.0分) 以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5)); A: 2 B: 3 C: 5 D: 语法错误 答案: A 第13题(1.0分) 在C语言的函数中,下列正确的说法是()。 A: 必须有形参 B: 形参必须是变量名 C: 可以有也可以没有形参 D: 数组名不能作形参 答案: C 第14题(1.0分) 对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。 A: 将5个初值依次赋给a[1]至a[5] B: 将5个初值依次赋给a[0]至a[4] C: 将5个初值依次赋给a[6]至a[10] D: 因为数组长度与初值的个数不相同,所以此语句不正确 答案: B 第15题(1.0分) 若定义: inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为()。 A: 无确定值 B: a的地址 C: 512 D: 511 答案: D 第16题(1.0分) 以下不符合C语言语法的赋值语句是()。 A: a=1,b=2 B: ++j; C: a=b=5; D: y=(a=3,6*5); 答案: A 第17题(1.0分) 若有说明: inta[3][4]={0};则下面正确的叙述是()。 A: 只有元素a[0][0]可得到初值0 B: 此说明语句不正确 C: 数组a中各元素都可得到初值,但其值不一定为0 D: 数组a中每个元素均可得到初值0 答案: D 第18题(1.0分) 设j和k都是int类型,则下面的for循环语句()。 for(j=0,k=0;j<=9&&k! =876;j++)scanf("%d",&k); A: 最多执行10次 B: 最多执行9次 C: 是无限循环 D: 循环体一次也不执行 答案: A 第19题(1.0分) fseek函数的正确调用形式是()。 A: fseek(文件类型指针,起始点,位移量) B: fseek(fp,位移量,起始点) C: fseek(位移量,起始点,fp) D: fseek(起始点,位移量,文件类型指针) 答案: B 第20题(1.0分) 与实际参数为实型数组名相对应的形式参数不可以定义为()。 A: floata[]; B: float*a; C: floata; D: float(*a)[3]; 答案: C 第21题(1.0分) 若inta=3,则执行完表达式a-=a+=a*a后,a的值是 A: -15 B: -9 C: -3 D: 0 答案: D 第22题(1.0分) 若有定义inta[10],*p=a;,则p+5表示 A: 元素a[5]的地址 B: 元素a[5]的值 C: 元素a[6]的地址 D: 元素a[6]的值 答案: A 第23题(1.0分) 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用 inta[]={1,2,3,4,5},*p,i; p=a; A: *(a+2) B: a[p-3] C: p+2 D: a+3 答案: A 第24题(1.0分) 以下程序的输出结果是________. voidfun(inta,intb,intc) {a=456;b=567;c=678;} main() {intx=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",z,y,x);} A: 30,20,10 B: 10,20,30 C: 456567678 D: 678567456 答案: A 第25题(1.0分) 已知字符'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 第26题(1.0分) 对于定义,char*aa[2]={"abcd","ABCD"},选项中说法正确的是 A: aa数组元素的值分别是"abcd"和"ABCD" B: aa是指针变量,它指向含有两个数组元素的字符型一维数组 C: aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D: aa数组的两个元素中各自存放了字符'a'和'A'的地址 答案: D 第27题(1.0分) 若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为()。 A: p=&x[i]; B: p=x; C: p=x[i]; D: p=&(x+i) 答案: A 第28题(1.0分) 以下标识符中,不能作为合法的C用户定义标识符的是()。 A: answer B: to C: signed D: _if 答案: C 第29题(1.0分) 下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。 A: 8 B: 23 C: 17 D: 6 答案: B 第30题(1.0分) 利用fseek函数可以实现的操作是()。 A: 改变文件的位置指针 B: 文件的顺序读写 C: 文件的随机读写 D: 以上答案均正确 答案: D ━━━━━━━━━━━━━━━━ 四、程序填空共2题(共计20分) ━━━━━━━━━━━━━━━━ 第1题(10.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 -------------------------------------------------------*/ #include main() { intlength(char*p); intlen; charstr[20]; printf("pleaseinputastring: \n"); scanf("%s",str); /***********SPACE***********/ len=length(【? 】);str printf("thestringhas%dcharacters.",len); } /***********SPACE***********/ 【? 】(p)length char*p; { intn; n=0; while(*p! ='\0') { /***********SPACE***********/ 【? 】;n++ /***********SPACE***********/ 【? 】;p++ } returnn; } 答案: =======(答案1)======= str =======(答案2)======= length =========或========= intlength =======(答案3)======= n++ =========或========= ++n =========或========= n=n+1 =========或========= n+=1 =======(答案4)======= p++ =========或========= ++p =========或========= p=p+1 =========或========= p+=1 第2题(10.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 输入一正整数n、打印1-n能够组成的所有自然数集合 (包含空集)。 -------------------------------------------------------*/ #include #include #defineMAXSiZE20 #defineLOOP1 voidmain(void) { intset[MAXSiZE]; intn,i; intposition; charline[100]; printf("\nAllPossibleSubsetsGenerationbyLexicalOrder"); printf("\n================================================"); printf("\n\nNumberofElementsintheSet-->"); gets(line); n=atoi(line); printf("\n{}"); position=0; set[position]=1; while(LOOP) { /***********SPACE***********/ printf("\n{%d",【? 】);set[0] for(i=1;i<=position;i++) printf(",%d",set[i]); printf("}"); if(set[position] { /***********SPACE***********/ set[【? 】]=set[position]+1;position+1 position++; } elseif(position! =0) set[--position]++; else /***********SPACE***********/ 【? 】;break } } 答案: =======(答案1)======= set[0] =======(答案2)======= position+1 =======(答案3)======= break ━━━━━━━━━━━━━━━━ 五、程序改错共1题(共计10分) ━━━━━━━━━━━━━━━━ 第1题(10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编写函数fun求20以内所有5的倍数之积。 ------------------------------------------------------*/ #include #defineN20 intfun(intm) { /**********FOUND**********/ ints=0,i;ints=1,i; for(i=1;i /**********FOUND**********/ if(i%m=0)if(i%m==0) /**********FOUND**********/ s=*i;s*=i; returns; } main() { intsum; sum=fun(5); printf("%d以内所有%d的倍数之积为: %d\n",N,5,sum); } 答案: =======(答案1)======= ints=1,i; =======(答案2)======= if(i%m==0) =======(答案3)======= s=s*i; =========或========= s=i*s; =========或========= s*=i; ━━━━━━━━━━━━━━━━ 六、程序设计共2题(共计20分) ━━━━━━━━━━━━━━━━ 第1题(10.0分) /*------------------------------------------------ 【程序设计】 ---------------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 考试 系统 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)