C语言程序设计试题.docx
- 文档编号:3336861
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:21
- 大小:32.97KB
C语言程序设计试题.docx
《C语言程序设计试题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题.docx(21页珍藏版)》请在冰豆网上搜索。
C语言程序设计试题
一、选择题
1.一个C语言程序是由( )构成。
A.语句 B.行号 C.数据 D.函数
2.下面标识符中正确的是( )。
A.a#bc B.123ABC C.sime D.Y·M·D
3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。
)。
)。
)。
A.2、1、8 B.4、1、4
C.4、1、4 D.2、2、8
4.为了避免嵌套的条件分支语句if--else中的else总是与( )组成成对关系。
A.缩排位置相同的 B.在其之前未配对的
C.在其之前未配对的最近的if D.在同一行上的if
5.下列表达式的结果正确的是( )。
int a,b,c,d;
a=b=c=d=2;
d=a+1==3?
b=a+2:
a+3
A.2 B.4 C.3 D.5
二、填空题
1.在C语言中,正确的标识符是由______________________组成的,且由_______________开头的。
2.设x=3,那么表达式y=(++x)+(++x)的结果为_________,表达式执行后,变量x的结果为_________。
3.一个变量的指针是指_________________________________________________________________。
4.组成数组元素的特点是_______________________________________________;
组成结构体元素的特点是________________________________________________。
5.在C语言程序中,对文件进行操作首先要______________________________;然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失。
6.对字符串进行操作的函数有_______________________________________________________等。
7.C语言程序是由___________________构成的,而C语言的函数是由____________________构成的。
8.要想定义整型变量a,实型变量b,字符型的变量c,应该使用的正确语句为______________________________________________________________________________________。
9.写出下面表达式的值
3*5/7+7%3_______________________ x=2;y=4; (x++)+y _________________________
3+4>=7-10_______________________ 3>4?
3%2:
1 ______________________________
x=2,y=2;++x&&++y_________________ x=3; x+=x-=2 ______________________________
三、判断题
1.C语言的一个特点是可以对计算机硬件进行操作 ( )
2.在循环过程中,使用break语句和continue语句的作用是一样的 ( )
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( )
4.指针变量可以接收任何类型的值 ( )
5.在C语言程序设计中,字符数组和字符串不是完全一样的概念 ( )
6.文件指针是结构体类型,用符号file来表示 ( )
7.选择结构(if语句)和循环结构都可以使用嵌套形式 ( )
8.在定义二维数组时,可以将该数组的两个维数全部省略 ( )
9.逻辑运算符 && || !
的运算顺序是 !
优先于&&优先于|| ( )
10.任何数组都可以实现整体使用操作 ( )
四、程序填空题
1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。
main()
{ int i,j,k;
for(i=1;_____________;i++)
{ for(j=1;______________;j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:
int max(x,y)
int x,y;
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:
包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1[30]
struct student
{
}
4.根据给出的程序段,请写出正确的结果
x=1; sum=1;
for(x=1;x<=5;x++)
sum=sum*x;
上面的程序段实现的功能是:
______________________________________________________;
其运行结果为______________________________________________________________________。
5.设有如下的语句。
int a=43,b,c;
b=23;
c=a++*--b;
(1)上面的语句段执行后a= b= c= ;
(2)简述a++和++a的相同点和不同点:
6.设有如下的程序:
main()
{inti=3,*p1;
inta[3]={15,30,45},*p2;
p1=&i;p2=a;
p1=p2+2;
printf(“%d,%d\n”,*p1,*p2);
}
程序运行结果是:
。
五、编程题(25分)
1.编程实现对10个整数进行冒泡排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
六、附加题
用C语言程序实现在已知链表中的第三个位置插入数值为a的程序
一、选择题
1.一个C语言程序是由( )构成。
A.语句 B.行号 C.数据 D.函数
2.下面标识符中正确的是( )。
A.d&ef B.6a C.z4x5c D.a3/b4
3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8
4.为了避免嵌套的条件分支语句if--else中的else总是与( )组成成对关系。
A.缩排位置相同的 B.在其之前未配对的
C.在其之前未配对的最近的if D.在同一行上的if
5.下列表达式的结果正确的是( )。
int aa,bb,cc,dd;
aa=bb=cc=dd=1;sp;aa=bb=cc=dd=1;sp;aa=bb=cc=dd=1;
(aa+1==2)?
bb=aa+2:
aa+3
A.2 B.3 C. 1 D.5
6.设有intx=11;则表达式(x+1/3)的值是( )。
A.3 B.4 C.11 D.12
7.设有字符串A=“Hehas钱!
”,则该字符串的长度为( )。
A. 9 B. 10 C.11 D.8
8.有如下程序段,则正确的执行结果是( )
intm=3;
while(m<=5)
{ printf(“%d ”,m-3);m++;}
A.0 0 0 B.0 1 2 C.1 2 3 D.无结果
9.执行语句:
printf("%d",(a=2)&&(b=-2);后,输出结果是( )。
A.无输出 B.结果不确定 C.-1 D.1
10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。
int x; char y; char z[20];
A.scanf("%d%c%c",&x,&y,&z); B.scanf("%d%c%s",&x,&y,&z);
C.scanf("%d%c%c",&x,&y,z); D.scanf("%d%c%s",&x,&y,z);
11.structex
{intx;floaty;charz;}example;
则下面的叙述中不正确的是( )。
A.struct结构体类型的关键字 B. example是结构体类型名
C.x,y,z都是结构体成员名 D. structex是结构体类型
12.在C语言中对于实型数组,其每个数组元素的类型是( )。
A. 实型 B.整型 C. 可以为任何类型 D. 不确定
13.若已定义:
inta[9],*p=a;不能表示a[1]地址的表达式是( )。
A. p+1 B. a+1 C. a++ D. ++p
14.在TC2.0环境中,对文件进行保存使用的命令是( )。
A. OPEN B. SAVE C. LOAD D.WRITETO
15.在C++的类中,用于表示公共类型的关键字是( )。
A.class B. private C. protect D.public
二、填空题
1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。
2.设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
3.一个变量的指针是指___________________________________________________。
4.在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
5.以下程序运行后的输出结果是 。
该程序的功能是 。
main()
{int x=10,y=20,t=0;
if(x!
=y)t=x;x=y;y=t;
printf("%d,%d\n",x,y); }
6.若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:
fp=fopen( );。
7.有以下程序,当输入的数值为2,3,4时,输出结果为 __。
main()
{ intx,y,z;
cout << “pleaseinput threenumber”;
cin>>x>>y>>z;
sum=x*x+y*2+z;
cout<<“sumofnumberis:
”< } 8.有以下程序 main() { charc; while((c=getchar())! ='? ') putchar(--c); } 程序运行时,如果从键盘输入: YDG? N? <回车>,则输出结果为 。 9.在循环中,continue语句与break语句的区别是: continue语句是语句的区别是: continue语句是 ,break是 。 三、程序填空与算法题 1.下面程序是计算10个整数中奇数的和及其偶数的和,请填空。 #include main() { inta,b,c,i; a=c=0; for(i=1;i<=10;i++) { scanf(“%d”,&b);canf(“%d”,&b); } printf("偶数的和=%d\n",a); printf("奇数的和=%d\n",c);} 2.编写一个自定义函数,实现求两个实数的平方和 3.以下程序运行后的输出结果是 。 main() { chars[]="GFEDCBA"; int p=6; while(s[p]! =‘D’) { printf("%c ",p); p=p-1; } } 4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。 5.以下程序输出的结果是 。 intff(intn) { staticintf=l; f=f*n; returnf; } main() { inti; for(i=1;i<=5;i++)printf("%d\n",ff(i)); } 6.设有以下程序: main() { intn1,n2; scanf("%d",&n2); while(n2! =0) { n1=n2%10; n2=n2/10; printf("%d ",n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为 。 7.下面程序的功能是: 输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 #Include<stdio.h> main() { inti,j; for(i=1;____________;i++) if(________________) printf("%d",j); } 8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。 所需要的语句为: (如果用到指针,在图中标出指针的位置) 四、编程题 1. 编程实现求解下面的式子的结果 s=1*2+2*3+3*4+…+20*21 2.编程实现求下面的式子的结果 3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。 2009-2010学年第一学期期末考试试题(B卷) 一、单项选择题(20分)[每题2分] 1.下面标识符中,合法的用户标识符为_______。 A)3ABB)intC)a_10D)re-input 2.若运行时为变量x输入12,则以下程序的输出结果是_______。 #include voidmain() {intx,y; scanf("%d",&x); y=x>12? x+10: x-12; printf("%d\n",y); } A)0B)22C)12D)10 3.定义了三个变量: inta,b; floatc; 使用scanf函数为这三个变量输入值,哪个输入语句是正确的: _______。 A)scanf("%d%d%f",a,b,c);B)scanf("%d%d%d",a,b,c); C)scanf("%d%d%f",&a,&b,&c);D)scanf("%d%d%d",&a,&b,&c); 4.C语言对嵌套if语句的规定是: else总是与。 A)其之前最近的if配对B)第一个if配对 C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对 5.以下程序中,while循环执行的次数是_______。 #include voidmain() {inti=0; while(i<10) { if(i<1)continue; if(i==5)break; i++; } } A)1B)死循环,不能确定次数C)6D)10 6.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为_______。 A)0B)4C)8D)6 7.函数调用: strcat(strcpy(str1,str2),str3)的功能是()。 A)将串str1复制到串str2中后再连接到串str3之后 B)将串str1连接到串str2之后再复制到串str3之后 C)将串str2复制到串str1中后再将串str3连接到串str1之后 D)将串str2连接到串str1之后再将串str1复制到串str3中 8.有语句: chars1[10],s2[10]={"books"};则能将字符串"books"赋给数组s1的正确语句是_______。 A)s1={"books"};B)strcpy(s1,s2); C)s1=s2;D)strcpy(s2,s1); 9.下面程序的输出是_______。 fun(intx) {staticinta=1; a+=x; return(a); } main() {intk=1,n=0; n=fun(k); n=fun(n); printf(“%d\n”,n); } A)0B)2C)4D)6 10.以下说法正确的是_______。 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 二、填空题(20分)[每题2分] 1.int类型变量的取值范围为。 2.C语言程序的三种基本结构是顺序结构、选择结构、______。 3.假设有说明charc1=’A’;则c1在内存中的存储形式为(二进制形式表示): 。 4.inta=1,b=3;表达式a>b? a-b: a+b的值为。 5.正确表示x≤0或x≥1的关系的表达式为。 6.假设有说明intx=10,y=10;则语句printf(“%d,%d”,x++,--y);的结果是。 7.若有inta[3]={10,12,30};则a+1是的地址。 8.设有数组定义: chararray[]="China";则数组所占的存贮空间为_____个字节。 9.getchar函数的作用是。 10.函数的实参传递到形参有两种方式: 和。 三、(20分)[每题4分] 1.若有程序 #include voidmain() {inti,j; scanf("i=%d,j=%d",&i,&j); printf("i=%d,j=%d\n",i,j); } 要求给i赋-1,给j赋-2,则应该如何从键盘输入? 2.设下述程序执行时输入为“2-582”,写出下面程序的运行结果 voidmain() { ints,n,x; for(n=0,s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 试题