天津大学17秋《C语言程序设计》在线作业一(答案)
《C语言程序设计》在线作业一一、单选题:【40道,总分:100分】天津大学
1.对于struct ex{ int x;float y;char z;}example;则下面的叙述中不正确的是( )。 (满分:2.5)
A. struct是结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型
2.设A为短整型一维数组,A的首地址为P,则A中第i个元素的地址为( )。 (满分:2.5)
A. P+i*2
B. P+(i-1)*2
C. P+(i-1)
D. P+i
3.以下对二维数组a进行正确初始化的是( )。 (满分:2.5)
A. int a={{1,2},{3,4},{5,6}};
B. int a[ ]={1,2,3,4,5,6};
C. int a[ ]={1,2,3,4,5,6};
D. int a[ ]={{1,2},{3,4}};
4.设int x=10,y=3,z;则语句printf(""%d\n"",z=(x%y,x/y));的输出结果是( )。 (满分:2.5)
A. 1
B. 0
C. 4
D. 3
5.设有说明double(*p1);其中标识符p1是( )。 (满分:2.5)
A. 指向double型变量的指针
B. 指向double型的函数指针
C. 指向double型的一维数组的指针
D. 具有N个指针元素的一维指针数组
6.下列函数中不能用于对文件进行输入输出操作的是( )。 (满分:2.5)
A. fscanf( )
B. printf( )
C. fgetc( )
D. fputs( )
7.设int x=1,y=1;表达式(!x++ ( ) y--)的值是( )。 (满分:2.5)
A. 0
B. 1
C. 2
D. -1
8.设int x=3,y=4,z=5;则值为0的表达式是( )。 (满分:2.5)
A. x>y++
B. x<=++y
C. x!=y+z>y-z
D. y%z>=y-z
9.正确的输入语句是( )。 (满分:2.5)
A. scanf(“a=b=%d”,&a,&b);
B. scanf(“%d,%d”,&a,&b);
C. scanf(“%c”,c);
D. scanf(“% f%d\n”,&f);
10.下列关于指针定义的描述中错误的是( )。 (满分:2.5)
A. 指针是一种变量,用于存放变量的地址。
B. 指针变量的类型与它所指向的变量类型一致。
C. 指针变量的命名规则与标识符相同。
D. 定义指针时,标识符前的“*”号表示指针所指向的内容。
11.下列描述中不正确的是( )。 (满分:2.5)
A. 字符型数组可以存放字符串
B. 字符型数组可以整体输入、输出
C. 整型数组可以整体输入、输出
D. 不能在赋值语句中对字符型数组进行整体赋值
12.一个C语言程序是由( )构成。 (满分:2.5)
A. 语句
B. 行号
C. 数据
D. 函数
13.已知:int x;int y; 下列( )是合法的。 (满分:2.5)
A. &x
B. &(x+3)
C. &5
D. &y
14.设int n=2;则while(n--);printf(“%d”,n);的执行结果是( )。 (满分:2.5)
A. 2
B. 1
C. -1
D. 0
15.设int a,*p;p=a;则对数组元素正确的引用是( )。 (满分:2.5)
A. *&a
B. a
C. *(p+10)
D. *p
16.一个C程序的执行是从( )。 (满分:2.5)
A. main( )函数开始,直到main( )函数结束。
B. 第一个函数开始,最后一个函数结束。
C. 第一个语句开始,最后一个语句结束。
D. main( )函数开始,直到最后一个函数。
17.设char *aa={""abcd"",""ABCD""};则以下说法中正确的是( )。 (满分:2.5)
A. aa数组元素的值分别是""abcd""和""ABCD""
B. aa是指向含有两个数组元素的字符型数组的指针
C. aa数组的两个元素分别是含有4个字符的一维字符数组的首地
D. aa数组的两个元素分别存放了字符'a'和'A'的地址
18.设int a, *p=a;则不能表示a地址的表达式为( )。 (满分:2.5)
A. p+1
B. a+1
C. a++
D. ++p
19.语句char *func(int x,int y);的作用是对( )。 (满分:2.5)
A. 函数func的定义
B. 函数func的调用
C. 函数func的原型说明
D. 函数类型的说明
20.不具有赋值功能的语句是( )。 (满分:2.5)
A. a*=b
B. x=1
C. a+b
D. a++
21.设int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。 (满分:2.5)
A. i= *p;
B. *p=*(&j);
C. i=&j;
D. i=* *p;
22.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是( )。 (满分:2.5)
A. 0
B. 4
C. -4
D. 2
23.设X=5,语句X*=X+=X*3执行后,X的值为( )。 (满分:2.5)
A. 100
B. 400
C. 450
D. 900
24.下列标识符中错误的是( )。 (满分:2.5)
A. x1y
B. 123
C. 2ab
D. ab
25.能正确表达逻辑关系“a≥10或a≤0”的C语言表达式是( )。 (满分:2.5)
A. a>=10 or a<=0
B. a>=10( )a<=0
C. a>=10&&a<=0
D. a>=10|a<=0
26.程序main( ){int x=3,y=3,z=3;printf(“%d %d\n”,(++x,y++),++z);} 的输出结果是( )。 (满分:2.5)
A. 33
B. 34
C. 42
D. 43
27.在C程序的嵌套if结构中,else总是与( )配对。 (满分:2.5)
A. 缩排位置相同的if
B. 在其之前未配对的if
C. 在其之前未配对的最近的if
D. 同一行上的if
28.关于x≥y≥z的正确C语言表达式是( )。 (满分:2.5)
A.(x>=y)&&(y>=z)
B.(x>=y) AND(y>=z)
C.(x>=y>=z)
D.(x>=z)&(y>=z)
29.设整型变量a为5,使b不为2的表达式是( )。 (满分:2.5)
A. b=a/2
B. b=6-(--a)
C. b=a%2
D. b=a>3?2:1
30.c语言中int型数-8在内存中的存储形式为( )。 (满分:2.5)
A. 1111111111111000
B. 1000000000001000
C. 0000000000001000
D. 1111111111110111
31.设int a={1,4,7},*p=&a, 则*p的值是( )。 (满分:2.5)
A. &a
B. 4
C. 7
D. 1
32.不是C语言实型常量的是( )。 (满分:2.5)
A. 55.0
B. 0.0
C. 55.5
D. 55e2.5
33.设long x=-123456L;则能够正确输出变量x值的语句是( )。 (满分:2.5)
A. printf(“x=%d\n”,x)
B. printf(“x=%ld\n”,x)
C. printf(“x=%8dl\n”,x)
D. printf(“x=%LD\n”,x);
34.可以将变量u、s中的最大值赋给变量t的选项是( )。 (满分:2.5)
A. if(u>s)t=u;t=s;
B. t=u;if(t>s)t=s;
C. if(u>s)t=s;else t=u;
D. t=s;if(u>t)t=u;
35.若变量c为char类型,能正确判断出c为小写字母的表达式是( )。 (满分:2.5)
A. ’a’<=c<=’z’
B.(c>=’a’)( )(c<=’z’)
C.(‘a’<=c) and(‘z’>=c)
D.(c>=’a’) &&(c<=’z’)
36.表达式:10!=9的值是( )。 (满分:2.5)
A. true
B. false
C. 0
D. 1
37.不能把字符串:Hello!赋给数组b的语句是( )。 (满分:2.5)
A. char b={'H','e','l','l','o','!'};
B. char b;b=""Hello!"";
C. char b;strcpy(b,""Hello!"");
D. char b=""Hello!"";
38.下列标识符中错误的是( )。 (满分:2.5)
A. hotdo
B. cat1
C. pri
D. 2ab
39.Break语句的正确的用法是( )。 (满分:2.5)
A. 用于在任何情况下中断程序的执行,退出到系统下一层。
B. 用于多重循环中退出其所在的那一层循环。
C. 跳出多重循环。
D. 只能修改控制变量。
40.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。 (满分:2.5)
A. a>=0( )b>=0)&&(a<0( )b<0)
B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0)
D. a*b>0
更多学习资料请登录www.openhelp100.com
页:
[1]