广东海洋大学C语言试题知识分享.docx
- 文档编号:12489767
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:13
- 大小:28.13KB
广东海洋大学C语言试题知识分享.docx
《广东海洋大学C语言试题知识分享.docx》由会员分享,可在线阅读,更多相关《广东海洋大学C语言试题知识分享.docx(13页珍藏版)》请在冰豆网上搜索。
广东海洋大学C语言试题知识分享
广东海洋大学C语言试题
广东海洋大学——学年第学期
《C程序设计》课程试题
课程号:
16232110
√
考试
□
A卷
√
闭卷
□
考查
□
B卷
□
开卷
题号
一
二
三
四
五
六
七
八
九
十
总分
阅卷教师
各题分数
25
20
10
10
5
30
100
实得分数
一、单项选择题(25分,每题1分)
1.正确的c语言标识符是____________.
A.2nameB.DATA_FILEC.(break)D.A@COM
答案:
B知识点:
标识符难度:
C
2.在c语言中,数组元素的下标从__________开始.
A.0B.1C.2D.任意
答案:
A知识点:
数组难度:
C
3.执行下列程序后,a的值是___________.
Inta=9,b,c;a+=2;
A.2B.10C.11D.8
答案:
C知识点:
运算符难度:
B
4.若有以下定义和语句,且,则___________是对数组元素的正确表示.
inta[]={1,2,3,4,5},*p;
p=a;
A.&(a+2)B.a++C.p[2]D.&p
答案:
C知识点:
数组难度:
A
5为避免嵌套条件支语句if~else的二义性,C语言规定,else总是与__________组成配对关系.
A.缩排位置相同的ifB.同一行的if
C.在其之前未配对的最近的ifD.在其之前未配对的if
答案:
C知识点:
分支语句难度:
C
6.若a=10,b=20,c=30,则表达式________的值为真.
A.!
(a!
=0)B.(ac)
C.(b>c)||(b>a)D.(c==a)||(c==b)
答案:
C知识点:
表达式难度:
B
7.若已定义:
inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是__________
A.p+1 B.a+1 C.a++ D.++p
答案:
C知识点:
指针难度:
A
8.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是_______________
intt[3][3],*pt([3],k;
for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0] B.t[2][2] C.t[l][2] D.t[2][l]
答案:
C知识点:
数组与指针难度:
A
9.设x和y均为int型变量,则下列语句
x+=y;y=x-y;x-=y;
的功能是()。
A.把x和y按从大到小排序B.把x和y按从小到大排序
C.无确定结果D.交换x和y的值
(难度系数B,知识点:
+=,-=)答案:
D
10.下述描述中不正确的是()。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C.可以对整型数组进行整体输入、输出
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
(难度系数B,知识点:
数组)答案:
C
11.以下4个选项中,不能看作一条语句的是()
A.{;}B.a=0,b=0,c=0;
C.if(a>0);D.if(b==0)m=1;n=2;
(难度系数C,知识点:
单行语句)答案:
D
12.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是()
A.a[p-a](B)*(&a[i])C.p[i]D.a[10]
(难度系数C,知识点:
数组元素)答案:
D
13.若有ints[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是()
A.1B.2C.3D.4
数组运算(难度系数C)答案:
D
14.用数组名作为函数的实参时,传递给形参的是()。
A.数组的首地址B.数组的第1个元素
C.数组中的全部元素D.数组的元素个数
函数调用(难度系数C)答案:
A
15.表达式'A'+4*25.0-'b'的正确结果是()。
A.67B.67.0C.不确定D.67L
C语言表达式运算(难度系数B)答案:
B
16.能表示条件0≤x≤100的表达式是()。
A.0<=x<=100B.)x>=0,x<=100
C.0≤x≤100D.)x>=0&&x<=100
C语言表达式运算(难度系数C)答案:
D
17.对字符串"Boy"进行完整赋值的操作是()。
A.chars[3]={'B','o','y'};B.chars[]="Boy";
C.chars[3]={"Boy"};D.chars[3];s="Boy";
字符串数组运算(难度系数C)答案:
B
18.若有代数式
,则不正确的C语言表达式是()。
A.x/b/c*y*8B.8*x*y/b/c
C.8*x*y/b*cD.x*y/c/b*8
C语言表达式(难度系数B)答案:
C
19、下列可以正确表示字符型常数的是。
A."B"B.'\010'C.68D.D
(知识点字符型常数难度系数C)正确答案:
B
20、以下程序的输出结果是。
voidmain()
{inta[]={1,2,3,4,5,6},*p;
p=a;*(p+3)+=1;
printf(“%d,%d\n”,*p,*(p+3));}
A.0,5B.1,5C.0,6D.1,6
(难度系数B)(答案:
B)(知识点:
指针)
21、若变量a是int类型,并执行了语句:
a='D'+3.5;则正确的叙述是:
A.a的值是字符DB.a的值是3
C.不允许字符型和浮点型相加D.a的值是字符'D'的ASCII值加上3
(知识点字符难度系数B)正确答案:
D
22.若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数
分别赋给变量a、b、c的语句是()。
A.scanf("%d%d%d",&a,&b,&d);B.scanf("%d%d%d",&a,&b,d);
C.scanf("%d%d%d",a,b,d);D.scanf("%d%d%d",a,b,*d);
(知识点键盘读入难度系数C)正确答案:
B
23.为判断变量m是否是数字,可用表达式()。
A.0<=m&&m<=9B.'0'<=m&&m<='9'
C."0"<=m&&m<="9"D.、三个答案都错
(知识点变量难度系数B)正确答案:
A
24、对于"int*pa[5];"的描述中,是正确的。
A.pa是一个指向数组的指针,所指向的数组是5个int型元素
B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C.pa[5]表示某个元素的第5个元素的值
D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
(知识点指针难度系数B)正确答案:
D
25、下列程序段的输出结果是。
func(inta,intb)
{intc;
c=a+b;
returnc;
}
main()
{intx=6,y=7,z=8,r;
r=func(x--,y++,x+y),z--);
printf("%d\n",a);
}
A.18B.22C.21D.19
(知识点函数难度系数A)正确答案:
C
二、填空题(20分,每题2分)
1.下列程序的输出结果是()。
#include
main()
{charb[30];
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s\n",b);
}
答案:
CDABC知识点:
内部函数,字符数组难度:
A
2.下列程序的输出结果是()。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
答案:
56知识点:
函数难度:
B
3.十进制数1385转换成十六进制数为___________
答案:
569知识点:
进制转换难度:
B:
考试大-计算机二级考试
4.语句:
printf("%d",(a=2)&&(b=-2);的输出结果是_________
答案:
1知识点:
运算符难度:
C
5.以下程序的输出结果是_____________
{intx=10,y=10,I;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
}
答案:
101091知识点:
for循环难度:
B
6、若有说明:
inta[3][4]={{1,2},{0},{4,6,8,10}},则a[1][2]=
(知识点数组难度系数C)答案:
0
7、已知x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为:
______
(知识点变量难度系数B)答案:
2.5
8、设i,j均为int型变量,则执行完下面的for循环后,k的值为。
for(i=1,j=10;i<=j;i++,j--)k=i+j;
(知识点变量难度系数B)答案:
10
9、定义b为共有10个元素的一维数字数组、同时定义p为指向a数组首地址的指针变量的语句为。
(知识点数组难度系数B)答案:
intb[10],*p=a;
10、若b=10,则(++b)+(++b)+(++b)的值为:
(知识点++运算符难度系数A)答案:
37
三、判断题(10分,每题1分)
1、( )所有的变量在使用前都必须予以申明。
(难度系数C,知识点:
变量声明)答案:
错
2、( )switch选择结构中必须有default子句。
(难度系数C,知识点:
switch选择结构)答案:
错
3、( )求余运算符%只能用于两个整数操作数。
(难度系数C,知识点:
求余运算符%)答案:
对
4、( )若有说明intc;则while(c=getchar());是错误的C语句。
(难度系数B,知识点:
while语句)答案:
错
5、( )使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。
(难度系数C,知识点:
跳出循环语句)答案:
错
6、()注释内容太多会影响程序的执行效率。
知识点:
C程序执行(难度系数C)答案:
错
7、()C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
知识点:
C程序执行(难度系数C)答案:
错
8、()若定义的函数没有参数,则函数名后的圆括号可以省略。
知识点:
函数定义(难度系数C)答案:
错
9.()在一个函数内中定义的变量可以在本函数范围内有效。
(知识点函数难度系数B)答案:
对
10.()全局变量和静态变量没有初始时,初始值为0。
(知识点变量难度系数B)答案:
对
四、程序填空题(10分,每题5分)
1、下面程序的功能是:
求一个5×5矩阵对角线元素之和。
#defineN5
main()
{inta[N][N],sum=0;
inti,j;
for(i=0;i for(j=0;j scanf("%d",&a[i][j]); for(i=0;i printf("sum=%4d\n",sum); } (难度系数B,知识点: 二维数组求和)答案: sum=sum+a[i][i]; 2、输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。 用下标为0元素统计字符“0”的个数,下标为1的元素统计字符“1”的个数。 程序如下 #include voidmain() {charc[80];inti=0,k,a[10]={0}; gets(c); while(①) {k=c[i]-48; ②;i++;} for(i=0;i<10;i++) printf("\n%d",③); } (知识点数组难度系数B)答案: ①c[i]! ='0'②a[k]++或a[k]+1③a[i] 五、读程序写结果(5分,每题5分) 1、#include #include structWorker{ charname[15];//姓名 intage;//年龄 floatpay;};//工资 voidmain() {Workerx; char*t="WeiRong"; intd=45;floatf=4000; strcpy(x.name,t); x.age=d;x.pay=f; printf("%s%d%f\n",x.name,x.age,x.pay);} 该程序的运行结果是: ___________________________________ (知识点指针,字符难度系数B)答案: WeiRong454000 六、编程题(30分,每题10分) 1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 答案: #include"stdio.h" main() { inti,j,k,n; printf("'waterflower'numberis: "); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf("%-5d",n); } } printf("\n"); } 知识点: 循环结构,分支结构难度: B 2、编写程序判断某一个数m是否为素数,如果是则输出"misaprime",否则就输出"misnotaprime"。 (难度系数C,知识点: 素数)答案: main(){inti,m; printf("pleaseinputanumberm: \n"); scanf("m=%d",&m); for(i=2;i {if(m%i==0) {printf("%disaprime\n",m);break;} elsecontinue;} if(i==m)printf("%disnotaprime\n",m); } 3.编程将字符数组中的字符串逆序存放并将前后结果输出,要求在一个函数中用指针来实现字符串逆序存放。 C语言指针使用(难度系数A)答案: charstrrev(char*s) {char*head=s,*tail; chartemp; tail=s+(strlen(s)-1); while(head {temp=*tail; *tail=*head; *head=temp; tail--;head++;} } main() {chartest[]={“thisisthetest.”}; printf(“%s\n”,test); strrev(test); printf(“%s\n”,test); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广东 海洋大学 语言 试题 知识 分享