天大17秋《C语言程序设计》在线作业12答案100分参考
《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
《C语言程序设计》在线作业二
一、单选题:【40道,总分:100分】
1.设x和y为浮点型变量,则正确的赋值语句是 ( )( )。 (满分:2.5)
A. x=&y
B. x*x=y
C. x=x+10*y
D. *x=y+2
2.设int a={1,2,3,4,5,6 }, *p=a;, *(p+3)的值是( ). (满分:2.5)
A. 3
B. 4
C. 5
D. 6
3.执行printf(“%-4d%c”,85,'A');后的结果是( )(每个□代表一个空格)。 (满分:2.5)
A. 85A
B. 85□□A
C. □□85A
D. □□85□□A
4.设int a=2,b=3,c;,以下不正确的赋值语句是( ). (满分:2.5)
A. b=a=10;
B. b+=a%5;
C. a+=b++=c;
D. a+=b+=5;
5.以下叙述中正确的是 ( )( )。 (满分:2.5)
A. 同一个函数中可以使用相同名字的变量
B. 在所有函数之外定义的变量为全局变量
C. 在main( )函数体内定义的变量为全局变量
D. 形式参数可以是表达式
6.能正确表达X在区间[-5, 5]中的表达式是( ). (满分:2.5)
A. X<=5 && X>=-5
B. -5<=X<=5
C. X>=-5( )X<=5
D.(X>=-5)&(X<=5)
7.结构化程序的三种基本结构是 ( )( )。 (满分:2.5)
A. 顺序结构,分支结构,循环结构
B. 递归结构,循环结构,转移结构
C. 嵌套结构,循环结构,顺序结构
D. 递归结构,分支结构,顺序结构
8.函数调用:fun(a+b,a+c,25) 中的参数个数是( ). (满分:2.5)
A. 3
B. 4
C. 5
D. 6
9.已知数组float b;该数组行下标的范围是( )( )。 (满分:2.5)
A. 1~3
B. 0~3
C. 1~2
D. 0~2
10.在C语言中,运算对象的逻辑值“真”用( )( )表示。 (满分:2.5)
A. false
B. 非0数
C. 0
D. 负数
11.C语言中运算对象必须是整型的运算符是 。 (满分:2.5)
A. %
B. /
C. *
D. =
12.对于C程序的函数,下列叙述中正确的是 。 (满分:2.5)
A. 函数的定义不能嵌套,但函数调用可以嵌套
B. 函数的定义可以嵌套,但函数调用不能嵌套
C. 函数的定义和调用均可以嵌套
D. 函数的定义和调用均不能嵌套
13.设int a=1,b=2; 执行语句a=b%4;后,a的值是( ). (满分:2.5)
A. 0.5
B. 1
C. 2
D. 4
14.判断字符型变量ch是否为大写英文字母的表达式为 。 (满分:2.5)
A. A’<=ch<=‘Z’
B. ch>=‘A’&& ch<=‘Z’
C. ch>‘a’&& ch<=‘z’
D. ch>=‘A’( ) ch<=‘Z’
15.以下的字符串赋值中,错误的是( )。 (满分:2.5)
A. char s1[]=“abcdef”;
B. char *ps=“abcdef”;
C. char *pa;pa=“abcdefg”;
D. char s2;s2=“abcdefg”;
16.设char s;,函数strcpy(s,“abcd”)执行后s中的内容是( )。 (满分:2.5)
A. a
B. s
C. abc
D. abcd
17.下列不属于字符常量的是:( ). (满分:2.5)
A. ‘5’
B. ‘Q’
C. ‘\n’
D. ”A”
18.能正确表示a和b同时为负的表达式是( )。 (满分:2.5)
A. a*b>0
B. a+b<0
C. a<0( )b<0
D. a<0&&b<0
19.对于for(s=2;;s++)可以理解为( )。 (满分:2.5)
A. for(s=2;0 ;s++)
B. for(s=2;1 ;s++)
C. for(s=2;s<2 ;s++)
D. for(s=2;s>2;s++)
20.设 int i;int x={1,2,3,4,5,6,7,8,9};则语句 for(i=0;i<3;i++)printf(" %d",x[ 2-i]);的输出结果是( )( )。 (满分:2.5)
A. 1 5 9
B. 1 2 3
C. 3 5 7
D. 3 2 1
21.设有定义:int k=3,*p=&k; 则表达式 *p的值是 ( )( )。 (满分:2.5)
A. 0
B. 1
C. 2
D. 3
22.对于定义 struct exp{int i;float j;double k;}x;变量x所占用的内存字节数为( )( )。 (满分:2.5)
A. 8
B. 7
C. 14
D. 18
23.设int a[ ]={3,6,8,10,12,13,15}; , 则数组元素a的值是。 (满分:2.5)
A. 3
B. 8
C. 10
D. 12
24.设int a=5,b=6;b*=a+1;则b的值为( )。 (满分:2.5)
A. 5
B. 6
C. 31
D. 36
25.设int i=010,j=10;则printf(“%d,%d\n”,++i,j--);的输出是( )。 (满分:2.5)
A. 11,10
B. 9,10
C. 010,9
D. 10,9
26.设有如下宏定义:#define A 3+2#define B A*A则表达式“B*B”的值为 ( )( )。 (满分:2.5)
A. 23
B. 5
C. 25
D. 625
27.设int a=9,b=4;,则执行printf(“%d”,a/b);后的输出结果是( )。 (满分:2.5)
A. 1
B. 2
C. 2.25
D. 3
28.程序 #includemain( ){int a=11,b=3;printf(“%d\n”, =a/b);}执行后的输出结果是( )。 (满分:2.5)
A. 1
B. 3
C. 11
D. a=3.66666
29.下列叙述不正确的是( )( )。 (满分:2.5)
A. 函数定义可以嵌套
B. 宏定义可以嵌套
C. 函数调用可以嵌套
D. 循环结构可以嵌套
30.设int a=5,b,*p=&a,则使b不等于5的语句为( )。 (满分:2.5)
A. b=*&a
B. b=*a
C. b=*p
D. b=a
31.使循环体至少被执行一次的循环语句是( ). (满分:2.5)
A. while
B. do-while
C. for
D. do
32.已知函数原型声明为:char *www(char a, charb);该函数的类型为( )( )。 (满分:2.5)
A. 指向字符型的指针
B. 字符型
C. 整型
D. 指向整型的指针
33.下列二维数组初始化中,错误的是( )( ). (满分:2.5)
A. int a[ ]={{3,4},{5,6,7}};
B. int a[ ]={2,3,4,5,6,7};
C. int a={0};
D. int a[]={{1,2,3},{2,3}, {3,4,5}};
34.表达式6!=7的值是( )。 (满分:2.5)
A. 0
B. 1
C. 6
D. true
35.C语言的程序执行总是从( )开始. (满分:2.5)
A. 程序的第一条语句
B. 程序中第一个函数
C. main( )函数
D. #include 指定的包含文件
36.与算术运算符'*'和'/'同一级别的运算符是( )。 (满分:2.5)
A. !
B. +
C. %
D. <
37.程序#includemain( ){int a=2,b=3,c;if(a>b)c=a+b; else c=a-b;printf(“%d\n”, c);}执行后的输出结果是( )。 (满分:2.5)
A. -1
B. 2
C. 3
D. 5
38.下列程序的输出结果为 ( )( )。 main( ) {int i=3,b; b=(i--)+(i--); printf(“%d”,b); } (满分:2.5)
A. 6
B. 2
C. 3
D. 4
39.以下叙述中错误的是 。 (满分:2.5)
A. 计算机不能直接执行源程序
B. C语言源程序经编译后生成的.obj文件是二进制文件
C. .obj文件经连接后生成的.exe文件是二进制文件
D. .obj和.exe的二进制文件都可以直接运行
40.以下叙述中正确的是。 (满分:2.5)
A. break语句只能用于switch语句中
B. continue语句使程序的执行流程跳出包含它的所有循环
C. break语句只能用在循环体内和switch语句体内
D. 在循环体内使用break语句和continue 语句的作用相同
页:
[1]