奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 1881|回复: 0

电子科大11春学期《C语言》在线作业三

[复制链接]
发表于 2011-3-30 14:53:47 | 显示全部楼层 |阅读模式
谋学网
一、单选(共 35 道试题,共 70 分。)V 1.  设有如下的程序段:  char str[ ]="hello";   char *ptr;   ptr=str; 执行上面的程序段后,*(ptr+5)的值为( )
A. o''
B. ''\0''
C. 不确定的值
D. ''o''的地址
      满分:2  分
2.  有以下程序: union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )
A. 13
B. 14
C. 208
D. 209
      满分:2  分
3.  若有说明:int a[3][4]; 则对a数组元素的正确引用是( )
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
D. a(2)(1);
      满分:2  分
4.  以下不正确的语句为( )
A. if(x>y);
B. if (x= y) &&(x! = 0) x+= y;
C. if(x!= y)scanf("%d",&x); else scanf("%d",&y);
D. if(x< y){x++ ;y++;}
      满分:2  分
5.  以下程序有语法错误,有关错误原因的正确说法是 ( ) main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A. 语句void prt_char( );有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
      满分:2  分
6.  下面程序应能对两个整型变量的值进行交换。以下正确的说法是( ) main( ) {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); prinif("(2)a=%d,b=%d\n",a,b);} swap(int p,int q) {int t; t=p;p=q;q=t;}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D. 以上说法都不正确
      满分:2  分
7.  以下对一维整型数组a的正确说明是( )
A. int a(10)
B. int n=10,a[n];
C. int n;scanf("%d",&n);int a[n];
D. #define SIZE 10 <CR> int a[SIZE];
      满分:2  分
8.  己有变量定义和函数调用语句:int a=25 ;print_vaue(&a);下面函数的正确输出结果是( ) void print_value(int *x) {printf("%d\n",++*x);}
A. 23
B. 24
C. 25
D. 26
      满分:2  分
9.  下面程序的运行结果是( ) #include<stdio.h> { int k=0; char c='A'; do {switch(c++) {case 'A':k++;break; case 'B':k--; case 'C':k+=2;break; case 'D':k=k%2;continue; case 'E':k=k*10;break; default:k=k/3;} k++;} while(c<'G')
A. k=3
B. k=4
C. k=2
D. k=0
      满分:2  分
10.  能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )
A. a>=10 or a<=0
B. a>=0|a<=10
C. a>=10 &&a<=0
D. a>=10‖a<=0
      满分:2  分
11.  对下面程序 ,从整体功能及语法上看,说法正确的是( )(每行程序前面的数字表示行号)。 1 main() 2 { 3 float a[10]={0.0}; 4 int i 5 for(i=0;i<3;i++) scanf("%d",&a[i]); 6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf("%d\n",a[0]); 8 }
A. 没有错误
B. 第3行有错误
C. 第5行有错误
D. 第7行有错误
      满分:2  分
12.  以下叙述中正确的是( )
A. 在程序的一行上可以出现多个有效的预处理命令行
B. 使用带参的宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为"宏名"的标识符 #define C R 045
      满分:2  分
13.  若有说明:int a[ ][4]={0,0};则下面不正确的叙述是( )
A. 数组a的每个元素都可得到初值0
B. 二维数组a的第一维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a行数为1
D. 只有元素a[0][0]和a[0][1]可得初值0,其余元素均得不到初值0
      满分:2  分
14.  putchar函数可以向终端输出一个( )
A. 整型变量表达式值
B. 实型变量值
C. 字符串
D. 字符或字符型变量值
      满分:2  分
15.  若有以下定义,则能使值为3的表达式是( ) int k= 7,x =12;
A. x%=(k%= 5)
B. x%=(k-k%5)
C. x%=k- k%5
D. (x%=k)-(k%=5)
      满分:2  分
16.  以下对二维数组a的正确说明是( )
A. int a[3][];
B. float a(3,4);
C. double a[1][4];
D. float a(3)(4)
      满分:2  分
17.  以下不正确的if语句形式是( )
A. if(x>y && x!=y);
B. if(x= =y) x+=y;
C. if(x != y) scanf("%d",&x ) else scanf("%d",&y);
D. if(x<y) {x++;y++;}
      满分:2  分
18.  下面程序段,说法正确的为( ) for (t=1; t<=100;t++) {scanf("%d",&x); if(x<0) continue; printf("%3d",x);}
A. 当x<0时整个循环结束
B. x>=0时什么也不输出
C. printf函数永远也不执行
D. 最多允许输出100个非负整数
      满分:2  分
19.  若有如下语句: int x=3; do { printf(" %d\n",x -=2);} while(!(--x)); 则上面程序段( )
A. 输出的是 1
B. 输出的是1和-2
C. 输出的是3和0
D. 是死循环
      满分:2  分
20.  与下面程序段等价的是( ) for(n=100;n<=200; n++) {if (n%3==0) continue; printf("%4d",n);}
A. for(n=100;(n%3)&& n<=200;n++) printf("%4d",n);
B. for(n=100;(n%3)|| n<=200;n++) printf("%4d",n);
C. for(n=100;n<=200;n++) if(n%3!=0) printf("%4d",n)
D. for(n=100;n<=200;n++) {if(n%3) printf("%4d",n); else continue; break;}
      满分:2  分
21.  C语言规定,函数返回值的类型是由( ) 决定的
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
      满分:2  分
22.  以下正确的说法是( )
A. 用户若需要调用标准库函数,调用前必须重新定义
B. 用户可以重新定义标准库函数,如若此,该函数将失去原有定义
C. 系统不允许用户重新定义标准库函数
D. 用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
      满分:2  分
23.  设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为( )
A. float
B. char
C. int
D. double
      满分:2  分
24.  若有条件表达式(exp) ? a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
      满分:2  分
25.  在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A. extern
B. register
C. auto
D. static
      满分:2  分
26.  以下正确的描述是( )
A. C语言的预处理功能是指完成宏替换和包含文件的调用
B. 预处理指令只能位于C源程序文件的首部
C. 凡是C源程序中行首以"#"标识的控制行都是预处理指令
D. C语言的编译预处理就是对源程序进行初步的语法检查
      满分:2  分
27.  以下正确的描述是( )
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时, 只能使用goto语句
      满分:2  分
28.  若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是( )
A. (*p)max(a,b);
B. *pmax(a,b);
C. (*p)(a,b);
D. *p(a,b);
      满分:2  分
29.  设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )
A. int
B. float
C. double
D. 不确定
      满分:2  分
30.  以下正确的描述是( )
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
      满分:2  分
31.  对下面程序段: #define A 3 #define B(a) ((A+1)*a) x=3*(A十B(7)); 正确的判断是( )
A. 程序错误,不许嵌套宏定义
B. )x=93
C. x=21
D. 程序错误,宏定义不许有参数
      满分:2  分
32.  以下正确的叙述是( )
A. 在C程序中,每行中只能写一条语句
B. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C. 在C程序中,无论是整数还是实数,都能被准确无误地表示
D. 在C程序中,%是只能用于整数运算的运算符
      满分:2  分
33.  下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空( ) #include <stdio.h> main() {int i=0,j,k; do{ i++;k=316-13*i;} while(【1】);j=k/11; printf(" 316=13* %d+11*%d",i,j);}
A. k/11
B. k%11
C. k/11==0
D. k/11== 0
      满分:2  分
34.  设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )
A. 7
B. 8
C. 6
D. 2
      满分:2  分
35.  若调用一个函数,且此函数中没有return语句,关于该函数则正确的说法是( )
A. 没有返回值
B. 返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
      满分:2  分

二、多选题(共 5 道试题,共 10 分。)V 1.  有定义:int a[5][4],*p=a[0];,则能正确引用a[2][3]元素地址的有( )
A. a[2]+3
B. *((p+2)+3)
C. *(p[2]+3)
D. *(a+2)+3
E. p+2*4+3
      满分:2  分
2.  以下程序正确计算p=n! (n>=0)的是( )
A. for(p=1.0,k=1;k<=n;) p*=k++;
B. p=1.0;k=0;while(k<n) p*=++k;
C. p=1.0;k=1;do{++k;p*=k;} while(k<=n);
D. p=1.0;for(k=n;k>=1;k--) p*=k--;
      满分:2  分
3.  以下程序正确计算p=n! (n>=0)的是( )
A. for(p=1.0,k=1;k<=n;) p*=k++;
B. p=1.0;k=0;while(k<n) p*=++k;
C. p=1.0;k=1;do{++k;p*=k;} while(k<=n);
D. p=1.0;for(k=n;k>=1;k--) p*=k--;
      满分:2  分
4.  定义char s[81]; 后,能正确输入一个字符串到数组s的语句是( )
A. gets(s);
B. scanf (”%c”,s);
C. scanf (”%s”,&s[0]);
D. gets(&s[0]);
      满分:2  分
5.  以下关于C源程序文件的说法中正确的是( )
A. 是一种二进制文件
B. 是一种文本(ASCII码)文件
C. 可以用DOS的type命令显示其内容
D. 文件扩展名一般为c
      满分:2  分

三、判断题(共 10 道试题,共 20 分。)V 1.  C语言把文件看作是一个字符的序列。
A. 错误
B. 正确
      满分:2  分
2.  以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关。
A. 错误
B. 正确
      满分:2  分
3.  已知int a[4],*p;则语句p=&a;是正确的。
A. 错误
B. 正确
      满分:2  分
4.  动态变量都存储在内存动态存储区中。
A. 错误
B. 正确
      满分:2  分
5.  宏替换就是字符替换,不能进行任何计算。
A. 错误
B. 正确
      满分:2  分
6.  在内存中存储结构体类型的变量要占连续一段的存储单元。
A. 错误
B. 正确
      满分:2  分
7.  return后面括号里的表达式的值即是此函数的值。
A. 错误
B. 正确
      满分:2  分
8.  对二维数组a来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。
A. 错误
B. 正确
      满分:2  分
9.  若有定义:long int j, *p;,则操作j=p;是合法操作。
A. 错误
B. 正确
      满分:2  分
10.  continue语句用在循环体中,可使整个循环不结束。
A. 错误
B. 正确
      满分:2  分

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
奥鹏作业答案,奥鹏在线作业答案
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-11-25 07:19 , Processed in 0.098751 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表