C程序设计考试题A.docx
- 文档编号:24349745
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:18
- 大小:27.91KB
C程序设计考试题A.docx
《C程序设计考试题A.docx》由会员分享,可在线阅读,更多相关《C程序设计考试题A.docx(18页珍藏版)》请在冰豆网上搜索。
C程序设计考试题A
C语言程序设计考试题A
注意事项:
1.答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必需填在前8列,剩最右边的一列不填涂);
2.试卷答案必需用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;
3.本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。
【1】~【60】每题1分,【61】~【80】每题2分,共100分。
1.在C语言中,要求参加运算的数必需是整数的运算符是【1】
(A)/(B)*(C)%(D)=
2.以下不正确的说法是【2】
(A)全局变量、静态变量的初值是在编译时指定的
(B)静态数值型变量若是没有指定初值,那么其初值为0
(C)局部变量若是没有指定初值,那么其初值不确信
(D)函数中的静态变量在函数每次调历时,都会从头赋初值
3.已知:
inta[]={1,2,3,4},x,*pt=&a[1];那么执行语句“x=(*--pt)++;”以后,变量x的值为【3】
(A)1(B)2(C)3(D)4
4.已知:
intx,*p=&x;那么以下输入输出x值的函数挪用中错误的选项是【4】
(A)scanf(“%d”,&x);(B)scanf(“%d”,p);
(C)printf(“%d”,x);(D)printf(“%d”,p);
5.在说明一个结构体变量时系统分派给它的存储空间是【5】
(A)该结构体中第一个成员所需的存储空间
(B)该结构体中最后一个成员所需的存储空间
(C)该结构体中占用最大存储空间的成员所需的存储空间
(D)该结构体中所有成员所需的存储空间的总和
6.C语言中函数返回值的类型是由【6】决定的
(A)return语句中的表达式类型(B)调用该函数的主调函数类型
(C)挪用函数时临时(D)概念函数时所指定的函数类型
7.设有数组概念:
chararray[]="China";那么数组array所占的空间为【7】
(A)4个字节(B)5个字节(C)6个字节(D)7个字节
8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】
(A)自动(auto)(B)静态(static)(C)外部(extern)(D)寄存器(extern)
9.以下选项中是非法的C语言转义字符的是【9】
(A)'\b'(B)'\'(C)'\037'(D)'\xf'
10.下面说法正确的选项是【10】
(A)函数概念能够嵌套,但函数挪用不能嵌套
(B)函数概念不能够嵌套,但函数挪用能够嵌套
(C)函数概念和挪用均不能嵌套
(D)函数概念和挪用均能够嵌套
11.语句“staticinti=10;”中,“i=10”的含义是【11】
(A)将变量i初始化为10(B)只说明了一个静态变量
(C)与“autointi=10;”在功能上等价(D)给变量i赋值为10
12.下述对C语言字符数组的描述中错误的选项是【12】
(A)字符数组能够寄存字符串
(B)字符数组中的字符串能够进行整体输入输出
(C)能够在赋值语句中通过赋值运算符“=”对字符数组整体赋值
(D)字符数组的下标从0开始
13.有以下说明和语句,且0<=i<10,那么下面【13】是对数组元素地址的正确表示
inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;
(A)&(a+1)(B)a++(C)&p(D)&p[i]
14.假设有以下说明和语句,那么p2-p1的值为【14】
inta[10],*p1,*p2;
p1=a;p2=&a[5];
(A)5(B)6(C)10(D)错误的表达式
15.已知:
chars[10],*p=s;那么在以下语句中,错误的语句是【15】
(A)p=s+5;(B)s=p+5;(C)s[2]=p[4];(D)p[0]=’a’;
16.已知:
chars[10];inti=1;那么在以下引用数组元素的表达式中,错误的表示形式是【16】
(A)s[i](B)*(s+i)(C)*s(D)*((s++)+i)
17.已知:
chara[5],*p=a;那么正确的赋值语句是【17】
(A)a=”abcd”;(B)*a=”abcd”;(C)p=”abcd”;(D)*p=”abcd”;
18.设有inti;charc;floatf;以下结果为整数的表达式是 【18】
(A)i+f(B)i*c(C)c+f(D)i+c+f
19.以下使变量i的运算结果为4的表达式是【19】
(A)inti=0,j=0;(B)inti=1,j=0;
(i=3,(j++)+i);j=i=((i=3)*2);
(C)inti=1,j=1;(D)inti=1,j=1;
(j==1)?
(i=1):
(i=3);i+=j+=2;
20.设charch;以下正确的赋值语句是【20】
(A)ch=’123’;(B)ch=’\xff’;(C)ch=’\08’;(D)ch=’’\’’;
21.设n=10,i=4,那么赋值运算n%=i+1执行后,n的值为【21】
(A)0(B)3(C)2(D)1
22.逗号表达式(a=3*5,a*4),a+15运算后,a的值为【22】
(A)60(B)30(C)15(D)90
23.
假设有说明intx,y;不能实现以下函数关系的程序段是【23】
(A)if(x<0)y=-1;(B)if(x>=0)
elseif(x==0)y=0;if(x>0)y=1;
elsey=1;elsey=0;
elsey=-1;
(C)y=0;(D)y=-1;
if(x>=0)if(x!
=0)
{if(x>0)y=1;}if(x>0)y=1;
elsey=-1;elsey=0;
24.设有说明ints[2]={0,1},*p=s;那么以下错误的C语句是【24】
(A)s+=1;(B)p+=1;(C)*p++;(D)(*p)++;
25.为了判定两个字符串s1和s2是不是相等,应当利用【25】
(A)if(s1=s2)(B)if(s1==s2)
(C)if(strcmp(s1,s2)==0)(D)if(strcpy(s1,s2))
26.一个C程序执行是从【26】
(A)第一个函数开始,直到最后一个函数终止
(B)第一个语句开始,直到最后一个语句终止
(C)从main()函数开始,在main()函数中终止
(D)从main()函数开始,直到源文件中的最后一个函数
27.以下选项中是C语言提供的合法的数据类型关键字的是【27】
(A)string(B)Int(C)integer(D)char
28.以下程序段intk=0;while(k=1)k++;while循环执行的次数是【28】
(A)无穷次(B)有语法错,不能执行
(C)一次也不执行(D)执行1次
29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】
(A)if(p)s1;elses2;(B)if(p==0)s1;elses2;
(C)if(p!
=0)s1;elses2;(D)if(p==0)s2;elses1;
30.假设intk=10;执行以下程序后,变量k的正确结果是【30】
switch(k)
{
case9:
k+=1;
case10:
k+=1;
case11:
k+=1;
default:
k+=1;
}
(A)10B)11(C)12(D)13
31.假设数组名作实参而指针变量作形参,函数挪用实参传给形参的是【31】
(A)数组的长度(B)数组第一个元素的值
(C)数组所有元素的值(D)数组第一个元素的地址
32.以下错误的描述是【32】
(A)break语句不能用于循环语句和switch语句外的任何其他语句
(B)在switch语句中利用break语句或continue语句的作用相同
(C)在循环语句中利用continue语句是为了终止本次循环,而不是终止整个循环
(D)在循环语句中利用break语句是为了使流程跳出循环体,提早终止循环
33.for(表达式1;;表达式3)可明白得为【33】
(A)for(表达式1;0;表达式3)(B)for(表达式1;1;表达式3)
(C)for(表达式1;表达式1;表达式3)(D)for(表达式1;表达式3;表达式3)
34.设intk;那么语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数别离是【34】
(A)无穷次和0次(B)0次和无穷次 (C)都是无穷次 (D)都是0次
35.有以下程序段:
intn=0,p;
do
{scanf(“%d”,&p);n++;
}while(p!
=12345&&n<3);
此处do~while循环的终止条件是【35】
(A)p值不等于12345而且n的值小于3
(B)p值等于12345而且n的值大于等于3
(C)p值不等于12345或n的值小于3
(D)p值等于12345或n的值大于等于3
36.以下各程序段中,没有组成死循环的是【36】
(A)inti=10;(B)inty=1;
while
(1)for(;y=10;y++);
{i=i+i%10;
if(i==10)break;
}
(C)intk=100;(D)ints=4;
dowhile(--s)
{++k;s--;
}while(k>=100);
37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】
(A)能够用while语句实现的循环必然能够用for语句实现
(B)能够用for语句实现的循环必然能够用while语句实现
(C)能够用while语句实现的循环必然能够用do~while语句实现
(D)能够用do~while语句实现的循环必然能够用while语句实现
38.已知intj,i=1;那么执行j=-i++;后,i和j的值为【38】
(A)1-1(B)11(C)2-1(D)21
39.以下正确的函数概念是【39】
(A)doublefun(intx,inty)(B)doublefun(intx,y)
{z=x+y;returnz;}{intz;z=x+y;returnz;}
(C)fun(x,y)(D)doublefun(intx,inty)
{intx,y;doublez;{doublez;
z=x+y;returnz;}z=x+y;returnz;}
40.假设x为整型变量,以下概念指针的正确语句是【40】
(A)intp=&x;(B)intp=x;(C)int*p=&x;(D)p=x;
41.在C语言中,若是下面的变量都是int类型,那么输出的结果是【41】
sum=a=5;a=sum++,a++,++a;
printf("%d\n",a);
(A)5(B)6(C)7(D)8
42.以下正确的说法是【42】
(A)实参变量与其对应的形参变量各占用独立的存储单元
(B)实参变量与其对应的形参变量共占用一个存储单元
(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元
(D)形参变量是虚拟的,不占用存储单元
43.若i为整型变量,那么以下循环执行次数是【43】
for(i=2;i!
=0;)printf("%d",i--);
(A)无穷次(B)0次(C)2次(D)1次
44.对以下说明语句的正确明白得是【44】
inta[10]={1,2,3,4};
(A)将4个初值依次赋给a[1]至a[4]
(B)将4个初值依次赋给a[0]至a[3]
(C)将4个初值依次赋给a[6]至a[9]
(D)因为数组长度与初值个数不一致,因此此语句不正确
45.已知:
charstr1[20],str2[10]=”books”;那么在程序中能够将字符串“books”赋给数组str1的正确语句是【45】
(A)str1=”books”;(B)strcpy(str1,str2);
(C)str1=str2;(D)strcpy(str2,str1);
46.以下不正确的说法是【46】
(A)在不同函数中能够利用相同名字的变量
(B)形式参数是局部变量
(C)在函数内概念的变量只在本函数范围内有概念
(D)在函数内的复合语句中概念的变量在本函数范围内有概念
47.已知一个函数的概念如下:
doublefun(intx,doubley)
{……}
那么该函数正确的函数原型声明为【47】
(A)doublefun(intx;doubley);(B)fun(intx,doubley);
(C)doublefun(int,double);(D)fun(x,y);
48.假设已概念:
inta[10],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是【48】
(A)p+1(B)a+1(C)a++(D)++p
49.要在C中求
的值,那么能够挪用库函数,格式为【49】
(A)sin6)(B)sin(30)
(C)sin(double(30))(D)sin
50.在一个源文件中概念的外部变量的作用域【50】
(A)本文件的全数范围(B)本程序的全部范围
(C)从概念该变量的位置开始至本文件终止(D)本函数的全数范围
51.已知函数fun的概念为:
voidf()
{……}
那么函数概念中void的含义是【51】
(A)执行函数f后,函数没有返回值
(B)执行函数f后,函数再也不返回
(C)执行函数f后,能够返回任意类型的返回值
(D)执行函数f后,函数返回void类型的值
52.假设有概念:
inta[10];那么对数组a中元素的正确引用是【52】
(A)a[10](B)a[](C)a(5)(D)*(a+2)
53.以下不正确的概念语句是【53】
(A)doublex[5]={,,,,};(B)inty[5]={0,1,3,5,7,9};
(C)charc1[]={‘1’,’2’,’3’,’4’,’5’};(D)charc2[]={‘\x10’,’\xa’,’\x8’};
54.有两个字符数组a,b,那么以下正确的输入语句是【54】
(A)gets(a,b);(B)scanf(“%s,%s”,a,b);
(C)scanf(“%s,%s”,&a,&b);(D)gets(&a);gets(&b);
55.已知:
char*str1=”abcde”,*str2=”xyz”;那么执行语句:
printf(“%d”,strlen(strcpy(str1,str2)));
输出结果是【55】
(A)9(B)3(C)5(D)8
56.挪用strlen(“abcd\0ef\0g”)的返回值为【56】
(A)4(B)5(C)8(D)9
57.在C语言中进行乘方运算,例如求a的3次方,能够利用【57】
(A)a^3(B)a**3(C)pow(a,3)(D)power(a,3)
58.以下对一维整型数组a的正确说明是【58】
(A)inta(10);(B)intn=10,a[n];(C)intn;(D)#defineSIZE10
scanf(“%d”,&n);inta[SIZE];
inta[n];
59.已知:
inti=0,j=1,*p=&i,*q=&j;其中错误的语句是【59】
(A)i=*&j;(B)p=&*&i;(C)j=*p++;(D)i=*&q;
60.以下关于结构体与共用体的说法,其中正确的选项是【60】
(A)共用体每一个成员别离占有自己的内存单元
(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和
(C)共用体同一个内存段能够寄存几种不同类型的成员,但在某一时刻只能寄存一个成员
(D)结构体类型能够出此刻共用体类型的概念中,但共用体不能出此刻结构体类型概念当中
61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。
#include<>
voidmain()
{charss[4][3]={‘A’,’a’,’f’,’c’,’B’,’d’,’e’,’b’,’C’,’g’,’f’,’D’};
intx,y,z;
for(x=0;【61】;x++)
for(y=0;【62】;y++){
z=x+y;
if(【63】)
printf(“%c\n”,ss[x][y]);
}
}
【61】(A)x<2;(B)x<=2;(C)x<=3;(D)x<=4;
【62】(A)y<3;(B)y<2;(C)y<=3;(D)y<4;
【63】(A)z==2;(B)z=2;(C)z==3;(D)z=3;
62.下面程序的功能是在一个键盘输入的字符串中找出最大的字符,并与它前一个字符对调,若是第1个字符最大,那么与最后一个对调。
#include<>
#include<>
main()
{chara[10];inti,k,t,len;
gets(a);
len=【64】;
k=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 考试题