高级语言程序设计综合练习一 学号: 姓名:
main ()
{ int m=5; if (m>5)
printf (“%d\\n”,m);
else
printf (“%d\\n”,m--);
}
A )7 B )6 C)5 D)4
9. 设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:(m=a>b)&&(n=c>d)后,n的值为:( )
A)1 B)2 C)3 D)0
10. 以下程序运行后,如果从键盘上输人5,则输出结果是:( )
main( ) {
int x;
scanf(\,&x); if(x--<5)
printf(\,x); else
printf(\,x++); }
A、3 B、4 C、5 D、6
11. 以下程序段的输出是:( ) int i,j,m=0;
for (i=1;i<=15;i+=4)
for (j=3;j<=19;j+=4) m++;
printf(“%d\\n”,m);
A)12 B)15 C)20 D)25
12. 定义如下变量:int n=10;则下列循环的输出结果是:( ) while (n>7)
{ n--; printf(\ }
A) 10 9 8 B) 9 8 7
C) 10 9 8 7 D) 9 8 7 6
13. 以下循环体的执行次数是:( ) main()
{ int i,j;
13
高级语言程序设计综合练习一 学号: 姓名:
for(i=0,j=1;i<=j+1;i+=2,j--)
printf(\
}
A) 3 B) 2 C) 1 D) 0
14. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:
( )
A) switch B) continue C) break D) if
二、判断题:
1. ( F )用1作while循环的判断条件,则循环一次也不执行。 2. ( F )for循环表达式的括号内的3个表达式均不可以省略。 3. ( F )若有for( ; ; ){??},是指循环体执行0次。 4. ( F )程序有死循环的时候,上机编译不能通过。 5. ( F )执行for(I=0;I<3;I++);后I的值为2。 6. ( T )所有类型的循环都可以进行嵌套使用。
7. ( T )利用break语句可以提前终止循环的执行。 8. ( F )利用continue语句可以提前终止循环的执行。
9. ( F )break语句和continue语句不可以同时出现在同一个循环体内。 10. ( F )switch语句中,每一个case的冒号后面都必须至少跟有一条语句
第6章 数组
一、选择题
1、假设int型变量占两个字节的存储单元,若有定义: int x[10]={0,2,4};
则数组x在内存中所占字节数为:( )
A、3 B、6 C、10 D、20
2、下面程序段的输出结果是:( ) int j;
int x[3][3]={1,2,3,4,5,6,7,8,9}; for (j=0;j<3;j++)
printf(“%d ”,x[j][2-j]);
A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9
3、以下能正确定义数组并正确赋初值的语句是:( )
A、int N=5,b[N][N]; B、int a[1][2]={{1},{3}};
C、int c[2][]= {{1,2},{3,4}}; D、int d[3][2]={{1,2},{3,4}};
4、有以下程序
main()
14
高级语言程序设计综合练习一 学号: 姓名:
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2;
for(i=0; i<3; i++)
{ printf(\}
执行后输出结果是:( )
A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9
5、以下能正确定义一维数组的选项是:( )
A、int num[]; B、int num[0..100]; C) #define N 100 D) int N=100;
int num[N]; int num[N];
6、有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0;
for(i=0;i<4;i++) s+=aa[i][1]; printf(\}
程序运行后的输出结果是:( ) A、 11 B、 19 C、 13 D、、20 7、不能把字符串“Hello!”赋给数组b的语句是:( )
A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’}; B、char b[10];b=”Hello!”;
C、char b[10]; strcpy(b,”Hello!”); D、char b[10]=”Hello!”;
8、函数调用strcat(strcpy(str1,str2),str3)的功能是_:( )
A、将串str1复制到串str2中后在连接到串str3之后 B、将串str1连接到串str2之后再复制到串str3之后
C、将串str2复制到串str1中后再将串str3连接到串str1之后 D、将串str2连接到串str1中后再将串str1复制到串str3中
9、在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A.[常量表达式] B.[整型表达式] C.[整型常量]或[整型表达式] D.[整型常量]
10、若有说明:int a[10];,则对a数组元素的正确引用是:( )。
A.a[10] B.a[3.5] C.a(5) D.a[10-10]
11、在C语言中,引用数组元素时,其数组下标的数据类型允许是:( )。
A.字符常量 B.浮点型常量 C.整型常量或整型表达式 D.任何类型的表达式
12、下列数组定义、初始化或赋值语句中,正确的是:( )。
15
高级语言程序设计综合练习一 学号: 姓名:
A.int x[5]={1,2,3,4,5,6}; B.int n=8; int score[n]; C.int a[8]; a[8]=100; D.int x[]={1,2,3,4,5,6};
13、已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是:( )。
A.2 B.3 C.4 D.无确定值
14、若有说明:int a[3][4];,则对a数组元素的非法引用是:( )。
A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4]
15、已有定义:char a[]=\,以下叙述中正确的是:( )。
A.数组a和数组b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度 D.数组a和数组b等价
16、对两个数组a和b进行如下初始化:
char a[]=“ABCDEF”;
char b[]={?A?, ?B?, ?C?, ?D?, ?E?, ?F?}; 则以下叙述正确的是:( )。 A.数组a与数组b完全相同 B.数组a与数组b长度相同C.数组a与数组b中都存放字符串 D.数组a比数组b长度长
17、有下面的程序段:
char a[3],b[]=“China”; a=b;
printf(“%s”,a);
A.运行后将输出China B.运行后将输出Ch C.运行后将输出Chi D.编译出错
18、下面程序的运行结果是:( )。
char c[5]={?a?, ?b?, ?\\0?, ?c?, ?\\0?}; printf(“%s”,c); A.ab B.abc C.ab\\0 D.ab\\0c\\0
19、设有数组定义:char array[]=“china”;,则数组array所占的空间为:( )。
A.4个字节 B.5个字节 C.6个字节 D.7个字节
20、判断字符串s1是否大于字符串s2,应当使用:( )。
A.if(s1>s2) B.if(strcmp(s1,s2)) C.if(strcmp(s2,s1)>0) D.if(strcmp(s1,s2)>0)
21、下列语句中,不正确的是:( )。
A.char str[5]=\
B.char str[]={'h','e','l','l','o','\\0'}; C.char str[5]={\D.char str[100]=\
16