|
电子科技大16春《C语言》在线作业1
一、单选题:
1.下面程序的运行结果是( )#include "stdio.h"main( ){int i; for(i=1;i<=5;i++) {if(i%2) printf("#");else continue;printf("*");}printf("$");} (满分:5)
A. *#*#$
B. #*#*#*$
C. *#*#$
D. #*#*$
2.有两个字符数组a、b,则以下正确的输入格式是( ) (满分:5)
A. gets(a
b);
B. scanf("%s%s"
a
b);
C. scanf("%s%s"
&a
&b);
D. gets("a")
gets ("b");
3.以下正确的描述是( ) (满分:5)
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
4.若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是( ) (满分:5)
A.(*p)max(a
b);
B. *pmax(a
b);
C.(*p)(a
b);
D. *p(a
b);
5.C语言规定:在一个源程序中,main函数的位置是( ) (满分:5)
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
6.若调用一个函数,且此函数中没有return语句,关于该函数则正确的说法是( ) (满分:5)
A. 没有返回值
B. 返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
7.下面四个选项中,均是C语言关键字的选项是( ) (满分:5)
A. auto、enum、include
B. switch、typedef、continue
C. signed、union、scanf
D. if、 0xe、0x
8.若w、x、y、z、m均为int型变量,则执行下面语句后的m的值是( ) w=1;x=2;y=3,z=4m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z (满分:5)
A. 1
B. 2
C. 3
D. 4
9.有定义:int a[5][4], (*p)[4]=a;,数组a的首地址为100,*(p+2)+3等于( ) (满分:5)
A. 116
B. 118
C. 120
D. 122
10.有如下定义:char *s1="AbCdE",*s2="aBcDe"; 则表达式strcmp(s1+1,s2+1)的值是( ) (满分:5)
A. 零
B. 负数
C. 正数
D. 非零值,无法肯定符号
11.以下叙述中不正确的是( ) (满分:5)
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #define IBM PC
12.若有以下定义,则能使值为3的表达式是( )int k= 7,x =12; (满分:5)
A. x%=(k%= 5)
B. x%=(k-k%5)
C. x%=k- k%5
D.(x%=k)-(k%=5)
13.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( ) (满分:5)
A. char<int<1ong int<=float<double
B. char=int<1ongint<=float<double
C. char<int<1ongint=float=double
D. char=int=1ong int<=float<double
14.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是( ) (满分:5)
A. *p+6
B. *(p+6)
C. *(p+5)
D. p+5
15.有以下程序: union pw { int i; char ch[2];}a; main( ) {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( ) (满分:5)
A. 13
B. 14
C. 208
D. 209
16.C语言规定,函数返回值的类型是由( ) 决定的 (满分:5)
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
17.下面程序的输出是( )typedef union {long x; int y; char z; }MYTYPE; MYTYPE them; main( ) {printf("% d\n",sizeof(them));} (满分:5)
A. 32
B. 16
C. 8
D. 4
18.已有变量定义和函数调用语句:int a=25;printvalue(&a);下面函数的输出结果是( )void printvalue(int *x){ printf(“%d\n”,++*x); } (满分:5)
A. 23
B. 24
C. 25
D. 26
19.下述关于条件语句的描述中错误的是( ) (满分:5)
A. if语句中只有一个else子句
B. if语句中可以有多个else if 子句
C. if语句中if体内不能有switch语句
D. if语句的if体中可以是循环语句
20.下面程序的运行结果是( )#include "stdio.h"main( ){int a,b;for(a=1,b=1;a=20) break;if(b%3==1) {b+=3;continue;}b-=5;}printf("%d\n",a);} (满分:5)
A. 7
B. 8
C. 9
D. 10
|
|