云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言选择题复习精选

C语言选择题复习精选

  • 62 次阅读
  • 3 次下载
  • 2025/7/7 19:35:03

C.fun(&a[0],a[0]); D.fun(a[0],&a[0]); 36.设有下列程序段: static char b=2;

void Y ( )

{ static float d=4;……} int a=1; void X ( )

{ int c=3;……}

关于程序段中各变量的属性,以下叙述中错误的是(D )。 A.a是全局变量,函数X可以访问,函数Y不能访问 B.b是全局变量,函数X和函数Y都可以访问 C.c是动态变量,函数X可访问,函数Y不可访问 D.d是静态变量,函数X和函数Y都可以访问 37、若有如下声明和语句: int t[3][3], *pt[3], k;

for(k=0; k<3;k++) pt[k]=&t[k][0];

则表达式*(*(pt+1)+2)所引用的是(C )。 A.t[2][0] B.&t[2][0] C.t[1][2] D.&t[1][2]

38.设有声明float a=1.23456; int i;,欲将a中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A )。 A.i=a*100+0.5, a=i/100.0 B.a=(a*100+0.5)/100.0 C.a=((int)a*100+0.5)/l00.0 D.a=(a/100+0.5)/100.0 39.若已有声明“int x=4, y=3;”,则表达式x < y ? x++: y++的值是(B )。

A.2 B.3 C.4 D.5

40.设有变量声明“char c;”, 执行“for (; c=(getchar( ) !=?\\n?) ; )printf(\时,从键盘上输入“ABCDEFG↙”之后,输出的结果是(C )。

A.ABCDEFG B.AABBCCDDEEFFGG C.非字母数字字符 D.语句不能执行 41.以下表示数学式“a

A.a=b)&&!(b>=c) D.!(a>=b||b>=c) 42.下面关于循环语句for、while、do_while的叙述中,正确的是(D )。 A.三种循环语句的循环体都必须放入一对花括号中 B.三种循环语句中都可以缺省循环终止条件表达式 C.三种循环语句的循环体都至少被无条件地执行一次 D.三种循环语句都可能出现无穷循环

43、若有声明“int a[]={l, 2, 3, 4}, *p, i;”,则以下程序段中不能输出13的是(B )。

A.for(i=0;i<4;i+=2)printf(\%d\B.for(p=0;p<4;p+=2)printf(\%d\C.for(p=a;p

A.main函数必须出现在其他函数之前 B.main函数中至少必须有一条语句

C.C程序总是从main函数的第一条语句开始执行

D.C程序总是在执行完main函数的最后一条语句后结束 45.已知有结构定义和变量声明如下: struct student { char name[20]; int score; struct student *h; }stu, *p; int *q;

以下选项中错误的是(C )。 A.p=&stu; B.q=&stu.score; C.scanf(\ D.stu.h=p; 46、设有声明“int p[10]={1, 2}, i=0;”,以下语句中与“p[i]=p[i+1], i++;”等价的是(D )。

A.p[i]=p[i+1]; B.p[++i]=p[i]; C.p[++i]=p[i+1]; D.i++, p[i-1]=p[i]; 47.设有结构定义及变量声明如下: struct product { char[5]; floadt price; }y[4]={ \

以下表达式中错误的是(D )。

A.(*y).code[0]=?2?; B.y[0].code[0]=?2? C.y->price=10; D.(*y)->price=10; 48.若有声明“int a=3, b=4, c=5;”,则下列表达式中值为0的是(D )。

A.a&&b=0 B.a<=b C.a||b&&c D.!(!c||1)

49.已知有声明“long x, y;”,且x中整数的十进制表示有n位数字(4

A.y=x/(10*(n-1)) B.y=x%(10*(n-1))

C.y=x%(long)pow(10, n-1) D.y=x%(10^(n-1))

50.已知有声明“int x, y;”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误的是(C )。 A.if(x>=0)y=1; else y=-1;

B.y=x>=0?1:01; C.switch()

{ case x>=0:y=1; break;

default:y=-1; }

D.switch(x-abs(x)) { case 0:y=1; break; default:y=-1; }

51、已知有声明“int m[]={5,4,3,2,1},i=0;”,下列对m数组元素的引用中,错误的是(B )。 A.m[++i]

B.m[5]

C.m[2*2]=0

D.m[m[4]]

52、若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是(D )。

A.实参和其对应的形参占用同一存储单元 B.形参不占用存储单元

C.同名的实参和形参占用同一存储单元 D.形参和实参占用不同的存储单元

53.C语言规定,在一个源程序中main函数的位置(D )。

A.必须在最开始 B.必须在最后

C.必须在预处理命令的后面 D.可以在其他函数之前或之后

54、已知有声明“int a=3, b=4, c;”,则执行语句“c=1/2*(a+b);”后,c的值是(A )。

A.0 B.3 C.3.5 D.4

55、已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是(D )。

A.c=tolower(c) B.c=c+32 C.c=c-?A?+?a?

D.c= (c +?A?)&-?a? 56.已知有定义和声明: struct student

{ int no; char name[20]; struct {int year, month, day;}birth; }s;

若要求将日期“1989年11月12日”保存到变量s的birth成员中,则能实现这一功能的程序段是(D )。

A.year=1989; month=11; day=12; B.s.year=1989;s.month=11; s.day=12;

C.birth.year=1989; birth.month=11; birth.day=12; D.s.birth.year=1989; s.birth.month=11; s.birth.day=12; 57、执行以下程序后的结果是(C )。

#include void main() { int x=3;

Do

{ printf(\

}while(!x);

}

A.输出一个数:0 B.输出一个数:3

C.输出两个数:0和-3 D.无限循环,反复输出数

58.设有声明“int a=4, b=3, c=5;”,以下4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是(C )。

A.if(a>b) c=a, a=b, b=c;

B.if(a>b) {c=a, a=b, b=c;} C.if(a>b) c=a; a=b; b=c;

D.if(a>b) {c=a; a=b; b=c;}

59、以下关于if语句和switch语句的叙述中错误的是(D )。

A.if语句和switch语句都可以实现算法的选择结构 B.if语句和switch语句都能实现多路(两路以上)选择 C.if语句可以嵌套使用

D.switch语句不能嵌套使用

60.若有声明语句“char s1[10]={0},s2[10]= \,则能将字符串\赋给数组s1保存的表达式是(D )。 A.s1= \ B.strcpy(s2, s1); C.s1=s2; D.strcat(sl, s2);

61.已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用一次fopen函数,已有声明语句“FILE *fp;”,则fopen函数的正确调用形式是(A )。 A.fp=fopen(\B.fp=fopen(\C.fp=fopen(\D.fp=fopen(\

62.数组和链表都可以用于存储一组彼此有关联的数据,以下说法中不正确的是(B )。 A.数组占用一块连续的存储区域,链表可能占用若干块不连续的存储区域 B.数组和链表所占用的存储区域均不能在程序运行期间动态地分配 C.数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 D.数组的长度是固定的,链表的长度是不固定的 63.设有定义和声明语句:

typedef struct dtype {int a;

struct dtype *b; }node;

static node x[3]={5, &x[1], 7, &x[2], 9, ?\\0?}, *prt=&x[0]; 下列选项中,表达式值不为5的是(A )。 A.x[1].b->a-2 B.Ptr->b->a-2 C.(ptr+1)->a-2 D.ptr->a

64.在以下程序中,需要在main函数之后定义一个函数,以下选项中(D )可以用做该函数的名字。

搜索更多关于: C语言选择题复习精选 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

C.fun(&a[0],a[0]); D.fun(a[0],&a[0]); 36.设有下列程序段: static char b=2; void Y ( ) { static float d=4;……} int a=1; void X ( ) { int c=3;……} 关于程序段中各变量的属性,以下叙述中错误的是(D )。 A.a是全局变量,函数X可以访问,函数Y不能访问 B.b是全局变量,函数X和函数Y都可以访问 C.c是动态变量,函数X可访问,函数Y不可访问 D.d是静态变量,函数X和函数Y都可以访问 37、若有如下声明和语句: int t[3][3], *pt[3], k; for(k=0; k<3;k++) pt[k]=&t[k][0]; 则表达式*

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com