当前位置:首页 > 练习题4
第四套
一、填空题
1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以____输出,也能以____输出。
2.在C语言中,唯一的一个三目运算符是____。 3.在C语言中,算术运算符的结合性是____。
4.char型常量在内存中存放的是该字符的______码值。 5.‘\\72’在内存中占______个字节,“\\72”在内存中占______个字节。 6.在C语言中,实数有两种表示形式,即_______和________. 7.下列语句的输出结果是________。
char a=48;printf(“%d,%x,%u\\n”,a,a,a,a); 8.阅读下述程序,说明其输出结果。请填空: #include
printf(“%d\\n”,a=a+1,b+a,b+1); 输出结果_(1)____ printf(“%d\\n”,(a=a+1,b+a,b+1)); 输出结果_(2)____ }
9.在一个C原程序中,注释符分别为__和__ 10.C运算中运算符的优先级最小的是_________. 11.在C语言中,对于二维数组a[i][j]的地址可表示为______或______;可以用______和______表示数组元素a中的p行k列元素。
二、选择题
1. 有以下定义和语句
int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1];
则*p[0]+1)所代表的数组元素是( ) A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2]
2.有以下程序
main()
{char str[][10]={\ printf(\}
程序运行后的输出结果是( ) A) China B) Bejing C) ng D) ing
3.有以下程序
main()
{char s[]=\
for(p=s+1;p
程序运行后的输出结果是( ) A) ABCD B) A C) B D) BCD BCD B C CD CD C D D D D
4.以下叙述中正确的是( )
A) 局部变量说明为static存储数,其生存期将得到延长 B) 全局变量说明为static存储类,其作用域将被扩大 C) 任何存储类的变量在未赋初值时,其值都是不确定的 D) 形参可以使用的存储类说明符与局部变量完全相同
5.有定义语句:int b;char c[10]; ,则正确的输入语句是( )
A)scanf(\ B)scanf(\C)scanf(\ D)scanf(\
6.C语言中最简单的数据类型包括( )
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型 7.为表示关系x大于等于y大于等于z,应使用C语言表达式() A)(x>=Y)&&(Y>=z) B)(x>=Y)AND(y>=z) C)(x>=Y>=z) D)(x>=Y)&(Y>=z) 8. 以下叙述正确的是( )
A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C++语言本身没有输入输出语句
D) 在对一个C++程序进行编译时,可发现注释中的拼写错误 9. 设以下变量均为int 类型,则值不等于7的表达式是( )
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1) C) (y=6,y+1,x=y,x+1) D) (x=6,x+1,y=6,x+y)
10.能正确表示“当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)
11. 下面程序段运行结果是( ) int x,y; x=y=0;
while(x<4) x+ = ++y; cout< A) 4;7 B)6;3 C)7;8 D)8;3 12.下面程序段的运行结果是( ) int x=3; do { cout<<(x - =2);} while (!(- -x)); A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D) 死循环 13.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 ( ) A)a<>0 B)!a C)a=0 D)a 14.程序中对fun函数有如下说明 void *fun(); 此说明的含义是:( ) A) fun了数无返回值 B)fun函数的返回值可以是任意的数据类型 C) fun函数的返回值是无值型的指针类型 D) 指针fun指向一个函数,该函数无返回值 15.已知指针p=a+2的指向如下图所示,则执行语句 *--p;后*p的值是() a[0] a[1] a[2] a[3] a[4] ┌──┬──┬──┬──┬──┐ │ 10 │ 20 │ 30 │ 40 │ 50 │ └──┴──┴──┴──┴──┘ A) 30 B) 20 C) 19 D) 29 三、判断题 1.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是int型。 ( ) 2.函数返回值的类型是由return语句中的表达式类型所决定。 ( ) 3.分号是C语句的必要组成部分。 ( ) 4.C程序的函数体不一定包括执行部分。 ( ) 5.类型属于基本数据类型。 ( ) 6.while(‘*’); 是无限循环。 ( ) 7.C的字符串常量是用双引号括起来的一个字符。 ( ) 8.函数的定义和函数的声明的概念不同。 ( ) 9.C语言是通过输入/输出函数来进行输入和输出的。 ( ) 10.符号‘&’是地址运算符,&a中是指a的值。 ( ) 四、读程序题。 (1)语句:x++;++x; x=x+1; x=l+x; ,执行后都使变量x中的值增1,请写 出一条同一功能的赋值语句(不得与列举的相同) 【1】 。 (2)设y是int型变量,请写出判断y为奇数的关系表达 【2】 。 (3)以下程序运行后的输出结果是 【3】 。 main() { int i=10, j=0; do { j=j+i; i--; while(i>2); printf(“%d\\n”,j); } (4) 设有以下程序: main() { int n1,n2; scanf(“%d”,&n2); while(n2!=0) { n1=n2; n2=n2/10; printf(“%d”,n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为 【4】 。 (5) 以下程序输出的最后一个值是【5】 。 int ff(int n) { static int f=l; f=f*n; return f; } main() { int i; for(i=1;i<=5;i++) printf(“%d\\n”,ff(i)); } (6) 以下函数的功能是:求x的y次方,请填空。 double fun( double x, int y) { int i; double z; for(i=1, z=x; i main() { int a, b, k=4, m=6, *p1=&k, *p2=&m; a=pl==&m; b=(*p1)/(*p2)+7; printf(“a=%d\\n”,a); printf(“b=%d\\n”,b); } 执行该程序后,a的值为【7】 ,b的值为【8】 。 (8) 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给 前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun( int a[ ]) { int i; for(i=1; i<=10; i++) 【9】=i; for(i=0; i<5; i++) 【10】=a[i]; } 五、编程题 1.从键盘任意输入三个数a,b,c,将它们按从小到大的顺序输出。 2. 将一个整型数组中的值按逆序重新存放。例如,原来顺序为8,7,6,5,4,要求改为4,5,6,7,8。 3. 从键盘任意输入三个串,求其中最大的串。
共分享92篇相关文档