电子科大10秋学期《C语言》在线作业一 试卷总分:100 测试时间:--
一、单选题(共 35 道试题,共 70 分。)
V
1. C语言中用于循环结构程序设计的三种常用控制语句是( C ) A. if、for、continue B. if、switch、break
C. for、while、do-while
D. 顺序结构、选择结构、循环结构 满分:2 分
2. 设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是( A ) A. a[1][2] B. a[1]
C. *(p+1*10+2) D. *(a[1]+2)
满分:2 分
3. 若有以下定义,则对a数组元素的正确引用是( C) int a[5],*p=a; A. *&a[5] B. a+2 C. *(p+5)
D. *(a+2)
满分:2 分
4. 判断字符串a和b是否相等,应当使用( A ) A. if(a= =b) B. if(a=b)
C. if(strcpy(a,b)) D. if(!strcmp(a,b)) 满分:2 分
5. 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为( A) A. *(a[i]+j) B. (a+i) C. *(a+j)
D. a[i]+j
满分:2 分
6. 以下不正确的if语句形式是( C) A. if(x>y && x!=y); B. if(x= =y) x+=y;
C. if(x != y) scanf(\D. if(x 7. 以下对一维整型数组a的正确说明是( D) A. int a(10) B. int n=10,a[n]; C. int n;scanf(\ D. #define SIZE 10 8. 下述关于条件语句的描述中错误的是(C ) A. if语句中只有一个else子句 B. if语句中可以有多个else if 子句 C. if语句中if体内不能有switch语句 D. if语句的if体中可以是循环语句 满分:2 分 9. 语句while(!E)中的表达式!E等价于(A ) A. E==0 B. E!=1 C. E!=0 D. E==1 满分:2 分 10. 下面程序的运行结果是( D) #include \ main() {int i; for(i=1;i<=5;i++) { if (i%2) printf(\ else continue; printf(\ } printf(\ } A. *#*#$ B. #*#*#*$ C. *#*#$ D. #*#*$ 满分:2 分 11. 对宏命令的处理是( B) A. 在程序执行时进行 B. 在程序对其它语句进行编译前进行 C. 在程序连接时进行 D. 与程序中其它语句同时进行编译 满分:2 分 12. 一个C程序的执行是从( A) A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束 满分:2 分 13. 若有以下说明和语句: struct student {int age; int num; }std,* p;则以下对结构体变量std中成员age的引用方式不正确的是( D) p=&std; A. std.age B. p->age C. (*p).age D. *p.age 满分:2 分 14. 以下叙述中不正确的是(D ) A. 在不同的函数中可以使用相同的名字的变量 B. 函数中的形式参数是局部变量 C. 在一个函数内定义的变量只在本函数范围内有效 D. 在一个函数内的复合语句中定义的变量在本函数范围内有效 满分:2 分 15. 以下不正确的说法是(C ) A. register变量可以提高变量使用的执行效率 B. register变量由于使用的是CPU的寄存器,其数目是有限制的 C. extern变量定义的存储空间按变量类型分配 D. 全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求 满分:2 分 16. putchar函数可以向终端输出一个( D) A. 整型变量表达式值 B. 实型变量值 C. 字符串 D. 字符或字符型变量值 满分:2 分 17. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(C ) A. char 18. 下面程序段的循环次数是(B ) int k=2; while(k==0) printf(″%d″,k); k--; printf(″\\n″); A. 0次 B. 1次 C. 2次 D. 无限次 满分:2 分 19. 若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是( C) A. *p+6 B. *(p+6) C. *(p+5) D. p+5 满分:2 分 20. 以下程序段 x= -1; do {x=x*x;} while(!x); 则( C) A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 满分:2 分 21. 结构化程序设计所规定的三种基本结构是(C ) A. 主程序、子程序、函数 B. 树形、网形、环形 C. 顺序、选择、循环 D. 输入、处理、输出 满分:2 分 22. C语言结构体类型变量在程序执行期间(A ) A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 满分:2 分 23. 若调用一个函数,且此函数中没有return语句,则正确的说法是(D ) A. 该函数没有返回值 B. 该函数返回若干个系统默认值 C. 能返回一个用户所希望的函数值 D. 返回一个不确定的值 满分:2 分 24. 设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是(C ) A. while循环执行10次 B. 循环是无限循环 C. 循环体语句一次也不执行 D. 循环体语句执行一次 满分:2 分 25. 当说明一个结构体变量时系统分配给它的内存是( A) A. 各成员所需内存量的总和 B. 结构中第一个成员所需内存量 C. 成员中占内存量最大者所需的容量 D. 结构中最后一个成员所需内存量 满分:2 分 26. 已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是( A) A. a+=a-=(b= 4)*(a=3) B. a=a*3=2 C. x%(-3) D. y=f1oat(i) 满分:2 分 27. 下面四个选项中,均是不合法的浮点数的选项是( ) A. 160 0.12 e3 B. 123 2e4.2 .e5 C. -.18 123e4 0.0 D. -e3 .234 1e3 满分:2 分 28. 在访问一个结构元素前你必须定义(C ) A. 结构体 B. 结构体变量 C. 定义结构指针 D. A和B 满分:2 分 29. 以下对二维数组a的正确说明是(C ) A. int a[3][]; B. float a(3,4); C. double a[1][4]; D. float a(3)(4) 满分:2 分 30. enum color{red,green,yellow=5,white,black}定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为( C) A. 1、2、3、4、5 B. 0、1、5、2、3 C. 0、1、5、6、7 D. 3、4、5、6、7 满分:2 分 31. 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序 #include for(i=0; i
电子科大10秋学期《C语言》在线作业答案(一,二,三)



