C语言程序设计试题集(第1套)
一、单项选择题(每题2分,共20分) 1、以下叙述不正确的是 A)C程序由函数构成
B)一个C程序至少包含一个main函数 C)main函数可以调用main函数
D)main函数是每个程序执行的起始点 2、C程序中能直接让机器执行的文件是 A)编辑后的.c源文件 B)通过编译的.obj文件 C)通过连接的.exe文件 D)编辑后的.bak文件 3、假设定义变量如下: intx; floaty;
以下输入语句中哪个是正确的? A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”,y,x); C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x); 4、已知:inta[][3]={1,2,3,4,5,6};则数组a的第一维的大小是 A)2 B)3 C)4 D)无确定值
5、.如果switch表达式是char变量code,下面哪一个case子句是合法的。 A)case“3”: B)case‘3’: C)case3:D)case=3:
6、能正确表示”x的值在[1,10]和[200,210]范围内”的表达式是 A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B)(x>=1)||(x<=10)||(x>=200)||(x<=210)
C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)
7、C语言中while和do-while循环的主要区别是
do-while循环至少无条件执行一次,而while循环可能一次也不执行 while循环控制条件比do-while循环控制条件严格
do-while循环允许从外部转到循环体内,而while循环不允许
do-while的循环体可以是复合语句,而while循环不可以是复合语句 8、下面哪一项函数的头部是有效的? one(intaintb) intthisone(charx) charanother(inta,b) doubleyetanother
9、若有定义charx[]=\;则 A)x数组与y数组的长度相同 B)x数组长度大于y的长度 C)x数组长度小于y数组长度 D)x数组等价于y数组 10、二维数组的第一个元素的行下标和列下标是 A)1,1B)0,1C)1,0D)0,0
二、填空题(每空3分,共30分)
1、如果a=4,b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)
2、语句:
if(6>5)printf(“#”); printf(“$”); 输出(2)
3、for(sum=j=0;j<=10;++j)sum+=j;循环结束后sum的值等于(3)
4、长度为10的int类型数组和长度为3的double类型数组,哪一个数组占用的内存空间多(4)
5、字符数组a)chara[]=“one”;占多少内存字节(5) 6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&&ch<=‘Z’的值是(6) 7、编写C语句,交换a、b的值(7)
8、为了使用库函数getchar(),必须在程序中包含命令(8) 9、设intnumbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。使用变量i跟踪下标。(9) 10、设有函数定义: 设有函数定义: intmax(intx,inty) {intz;
z=x>y?x∶y; return(z); }
语句printf(“%d”,max(max(2,3),4));输出什么?(10) 三、阅读下列程序,写出运行结果(每题5分,共20分) 1、
#include
{ chara=’A’;
printf(“%c\\n\} 2、
#include
printf(“x=%d,y=%d\\n”,x,y); } 3、
#include
f1=1;f2=1;
for(j=1;j<=4;j++){
printf(″%d%d″,f1,f2); f1=f1+f2; f2=f2+f1; } } 4、
#include
{inta[2][3]={{1,2,3},{4,5,6}}; intb[3][2],i,j; for(i=0;i<2;i++){
for(j=0;j<3;j++)b[j][i]=a[i][j]; }
printf(\for(i=0;i<3;i++){
for(j=0;j<2;j++)printf(\printf(\} }
四、编写程序(共30分,每题10分)
1、从键盘上输入两个整数,比较两个数的大小,并输出较大者 2、编写程序,打印如下图案: * ** *** **** *****
3、编写程序,求一维数组中最大元素,数据自定。
C语言程序设计试题集(第2套)
单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行B、是一个源程序
C、经过编译即可执行D、经过编译解释才能执行 2.C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构B、if、switch、break C、for、while、do-whileD、if、for、continue 3.以下选项中合法的实型常数是______。 A、5E2.0B、E-3C、.2E0D、1.3E
4.假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、3.500000B、3C、2.000000D、3.000000
5.ch是字符型变量,下面不正确的赋值语句是______。 A、ch=65; B、ch=\C、ch='\\n'; D、ch=9+'0'; 6.下列有关C语言程序书写格式的说法哪个是错误的?
A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。
C、C语言程序的标识符必须使用小写字母。
D、用{}括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x=-1; if(a!=0) if(a>0)x=1; elsex=0;
-1(a<0) 1(a<0) A、x=0(a=0)B、x=-1(a=0) 1(a>0)0(a>0) 0(a<0)-1(a<0)
C、x=-1(a=0) D、x=1(a=0) 1(a>0)0(a>0)
8.以下关于do-while循环的不正确描述是______。 A)do-while的循环体至少执行一次 B)do-while的循环体可以是复合语句
C)在do-while循环体中,一定要有能使while后面表达式的值变为零(\假\的操作 D)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9.以下程序执行后sum的值是______。 A)15 B)14 C)不确定 D)0 main()
{inti,sum=0;
for(i=1;i<6;i++)sum+=i; printf(\}
10.若有说明语句:inta[][3]={1,2,3,4,5,6};则a数组第一维的大小是。 A.1B.2C.3D.无确定值
11.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型B、long型C、int型D、double型 12.下面正确的函数定义形式为 A、doublefun(intx;inty) B、doublefun(intx,inty); C、doublefun(intx,y) D、doublefun(intx,inty)
13.以下程序运行后,输出结果是______。 #defineADD(x)x+x main()
{intm=1,n=2,s=3; s=S+ADD(m+n); printf(\ }
相关推荐: