C语言练习题与答案(6)

2020-06-03 15:18

C 125. 下面程序的输出结果是( )。 #include #define ONE 1 #define TWO ONE+1 #define THREE TWO+1 void main() { printf(\} A. 产生错误 B. 1 C. 2 D. 3 126. 以下叙述中正确的是( )。 A. 预处理命令行必须位于C源程序的起始位置 B. 在C语言中,预处理命令行都以\开头 C. 每个C程序必须在开头包含预处理命令行:#include D. C语言的预处理不能实现宏定义和条件编译的功能 127. 设有以下语句,则( )是对a数组元素的不正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; A. a[p-a] B. *(&a[i]) C. p[i] D. *(*(a+i)) 128. 对于基类型相同的两个指针变量之间,不能进行的运算是( )。 A. < B. = C. + D. - 129. 执行以下程序段的输出结果是( )。 int a=10,*p=&a; printf(\ A. 10 B. 11 C. 变量a的地址 D. 变量a的地址 + 1 130. 以下程序段运行后*(p+3)的值为( )。 char a[]=\char *p; p=a; A. 'd' B. '\\0' C. 存放'd'的地址 D. 'o' B D C B A C 131. 以下程序段运行后*(++p)的值为( )。 char a[5]=\char *p; p=a; A. 'w' B. 存放'w'的地址 C. 'o' D. 存放'o'的地址 132. 若有定义:int *p,a=4; p=&a;则以下均代表地址的是( )。 A. a,p B. &a,p C. &a,*p D. a,*p 133. 若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。 A. *p=&a;scanf(\ B. *p=&a;scanf(\ C. p=&a;scanf(\ D. p=&a;scanf(\ 134. 在16位编译系统上,若有定义int a[]={10,20,30},*p=&a;当执行p++;后下列叙述错误的是( )。 A. p向高地址移了一个字节 B. p与a+1等价 C. 语句printf(\输出20 D. p指向数组元素a[1] 135. 下面语句正确的是( )。 A. int *p; *p=20; B. char *s=\ C. char str[]=\//数组名不能改变 D. char str[]={'a','b','c'};printf(\ //%s输出字符串,必须以’\\0’结束 136. 若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是( )。 int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p = a; A. *(*(a+i)+j) B. p[i][j] C. (*(p+i))[j] D. p[i]+j 137. 若函数fun的函数头为: int fun(int i, int j) 且函数指针变量p定义如下: int(*p)(int i, int j); 则要使指针p指向函数fun的赋值语句是( )。 B D A B D B A. p=*fun; B. p=fun; C. p=fun(i,j); D. p=&fun; 138. 设有如下变量定义: char aa[][3]={'a','b','c','d','e','f'}; char (*p)[3]=aa; 则以下程序段的运行结果是( )。 p++; printf(\ A. a B. b C. c D. d 139. 以下程序段运行后x的值为( )。 int a[]={1,2,3,4,5,6,7,8}; int i,x,*p; x=1; p=&a[2]; for(i=0;i<3;i++) x*=*(p+i); A. 不确定 B. 24 C. 120 D. 60 140. 以下程序段运行后x的值为( )。 int a[]={1,2,3},b[]={4,2,5}; int *p,*q; int i,x; p=a; q=b; for(i=0;i<3;i++) if(*(p+i)==*(q+i)) x=*(p+i)*2; A. 2 B. 4 C. 6 D. 不确定 141. 以下程序段运行后x的值为( )。 int a[9]={1,2,3,4,5,6,3,8,9}; int *p,*q; int i,x; p=&a[0]; q=&a[8]; for(i=0;i<3;i++) D D B C if(*(p+i)==*(q-i)) x=*(p+i)*2; A. 2 B. 4 C. 6 D. 不确定 142. 下面程序的输出结果是( )。 #include void main() { int i; char *s=\ for(i=0;i<3;i++) printf(\} A. abc bc c B. c bc abc C. abc c bc D. a ab abc 143. 下面程序的输出结果是( )。 #include void main() { char *str=\ printf(\} A. 1 B. 2 C. 3 D. 错误 144. 以下程序执行时,输入1 2 3 4 5<回车>,输出为: #include #define N 5 void main() { int a[N]; A A A int *p=a; while(pa) printf(\} A. 5 4 3 2 1 B. 1 2 3 4 5 C. 2 3 4 5 1 D. 4 3 2 1 5 145. 设有以下定义语句: struct student { int num; char name[10]; float score; } wang,zhang; 则不正确的叙述是( )。 A. struct是结构体类型的关键字 B. zhang是结构体变量名 C. wang是结构体类型名 D. num,name,score都是结构体类型student的成员名 146. 设有以下定义语句: struct student { int num; char name[10]; float score; } wang,zhang; 则变量wang所占的内存字节数是( )。 A. 14 B. 16 C. 18 D. 20 147. 设有如下定义语句: union u_type { int i; //二个字节 double x; //八个字节 float f; //四个字节 }; struct str_type { char str[100]; union u_type u[2]; }; 则语句“printf(\ sizeof(struct str_type));”的输出结果是( )。 A. 100 C B B


C语言练习题与答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级体育课教案1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: