电子科大10秋学期《C语言》在线作业答案(一,二,三)
- 格式:doc
- 大小:215.00 KB
- 文档页数:24
15春《C语言》在线作业3一,单选题1. 以下正确的函数定义形式是( )A. double fun(int x,int y)B. double fun(int x; int y)C. double fun(int x, int y);D. double fun(int x,y);?正确答案:A2. 若有以下说明和语句,则在scanf函数调用语句中对结构体变量成员的不正确引用方式是( ) struct pupil {char name[20];int age; int sex;}pup[5],* p;p= pup;A. scanf ("%s",pup[0].name);B. scanf("%d",&pup[0].age);C. scanf("%d",&(p-> sex));D. scanf("%d" ,&p-> age);?正确答案:D3. 下面程序的输出是( ) typedef union {long x; int y; char z; }MYTYPE; MYTYPE them; main() {printf("% d\n",sizeof(them));}A. 32B. 16C. 8D. 4?正确答案:D4. 下列四组选项中,均不是C语言关键字的选项是( )A. define IF typeB. geto char printfC. include scanf caseD. while go pow?正确答案:A5. enum color{red,green,yellow=5,white,black}定义了一枚举类型。
编译程序为值表中各标识符分配的枚举值依次为( )A. 1、2、3、4、5B. 0、1、5、2、3C. 0、1、5、6、7D. 3、4、5、6、7正确答案:C6. 下面程序的功能是用递归法将一个整数存放到一个字符数组中。
第一次作业一、写出下列每个程序运行后的输出结果1。
#include〈stdio.h>void main(){int x=5;switch(2*x—3){case 4:printf(”%d ",x);case 7:printf(”%d ",2*x+1);case 10:printf(”%d ”,3*x-1);break;default:printf(”%s ”,”default\n");}printf(”%s\n","switch end。
");}2。
#include〈stdio.h>void main(){int i,s=0;for(i=1;i〈=6;i++)s+=i*i;printf(”s=%d\n”,s);}3。
#include〈stdio。
h〉void main(){int i,s1=0,s2=0;for(i=0;i〈10;i++)if(i%2)s1+=i;else s2+=i;printf(”%d %d\n”,s1,s2);}4. #include<stdio。
h〉void main(){int n=10,y=1;while(n——){y++;y++;}printf(”y=%d\n",y);}5。
#include〈stdio.h〉void main(){int f,f1,f2,i;f1=f2=1;printf(”%d %d ",f1,f2);for(i=3;i〈=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n”);f1=f2;f2=f;}printf(”\n");}6。
#include<stdio。
h>#include〈math.h>void main(){int i,n;for(n=2;n〈=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i〈=temp;i++)if(n%i==0)break;if(i〉temp)printf(”%d ”,n);}printf(”\n”);}7。
14秋《C语言(专科)》在线作业1
一,单选题
1. 有以下程序段typedefstructnode{intdata;structnode*next;}*NODE;NODEp;以下叙述中正确的是()。
A. p是指向structnode结构体变量的指针的指针
B. NODEp;语句出错
C. p是指向structnode结构变量的指针
D. p是structnode结构变量
正确答案:C
2. 对函数的正确描述()
A. 在C语言中可以嵌套定义函数
B. 自定义函数和调用函数可以不在一个源文件中
C. 函数定义都是平行的,独立的
D. 不能嵌套调用函数
正确答案:C
3. 以下选项中,当x为大于1的奇数时,值为0的表达式是()。
A. x%2==1
B. x/2
C. x%2!=0
D. x%2==0
正确答案:D
4. 在C语言中,下面那一个不是正确的概念()
A. 所有循环语句都要求至少要执行一次循环体
B. goto和if语句能构成循环语句
C. 循环过程只能包含,不能交叉
D. 循环体可以是一条语句
正确答案:A
5. 一个C程序的执行是从()
A. C程序的main函数开始,到main函数结束
B. 本程序的第一个函数开始,到本程序最后一个函数结束
C. 本程序的main函数开始,到本程序文件的最后一个函数结束
D. 本程序的第一个函数开始,到本程序main函数结束
正确答案:A
6. 若有定义:intw[3][5];,则以下不能正确表示该数组元素的表达式是()。
A. *(*w+3)
B. *(w+1)[4]
C. *(*(w+1))。
电子科技大学网络教育专科C语言在线考试答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、单项选择题(每题2分,共30分)1.以下描述正确的是( C )A.goto语句只能用于退缩出多层循环。
B.switch语句中不能出现continue语句。
C.只能用continue语句中来终止本次循环。
D.在循环语句中break语句不独立出现。
2.一个C程序的执行是从( A )A.C程序的main函数开始,到main函数结束。
B.本程序的第一个函数开始,到本程序最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。
`D.本程序的第一个函数开始,到本程序main函数结束。
3.C语言中,要求运算数必须都是整数的运算符是( C )。
A.* C.% D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C ),4,4 B. 8,4,4 C. 7,3,4 ,3,55.对break语句的正确描述。
( A )A.break语句在while语句中,立即终止执行while语句。
B.break语句不能用于循环语句之外的语句。
C.break语句与continue语句功能相同。
D.b reak语句可以带参数,也可以不带。
6.在C语言中,下面那一个不是正确的概念( A )A. 所有循环语句都要求至少要执行一次循环体。
B. goto和if语句能构成循环语句。
C.循环过程只能包含,不能交叉。
D.循环体可以是一条语句。
7.以下对二维数组a的正确说明是( C )A. int a[ 3 ] [ ]; B. float a( 3, 4);C. int a[ 3 ] [ 4 ] a( 3, )( 4 );8.对函数的正确描述( C )A.在C语言中可以嵌套定义函数。
自测题1答案一、填空题(每空1分,共29分)1、若有以下的定义:int a [6];则数组a元素的下标的上限为 5 ,下限为 0 。
2、局部的变量是在函数内部定义的,它们只在本函数有效。
3、组成C程序的若干函数中,只能且必须有一个主函数。
4、C语言中的变量名可以由字母,数字和下划线三种字符组成,且首字符不能是。
5、枚举类型enum color (bla,blu,gre=3,cya,red)中的枚举项的值bla=__0__、blu=__1__、cya=__4__、red=__5___.6、c语言中变量的存储属性有自动、____静态____、__外部______和寄存器四种。
7、算术运算符,关系运算符,赋值运算符的优先级从低到高依次是赋值运算符,关系运算符,算术运算符。
8、标准文件是系统自动打开和关闭的,但是一般用户文件,必须在程序中用函数_fopen( )_打开文件,文件操作结束后,用__fclose( )_关闭文件。
9、函数参数有形式参数和实际参数两种形式。
10、程序的三种基本结构是顺序结构,选择结构,循环结构。
11、x、y、z均为int型变量,请写出描述“x或y中有一个小于z”的表达式__x<z||y<z_。
12、下面程序的运行结果是: c1=c,c2=abc# include <stdio.h>main( ){char s[10]={“abc”};printf(“c1=%c,c2=%s\n”,s[2],s);}13、如果a=5,b=2,c=3,d=4,则表达式a<b?a:c<d?c:d的值是 3 。
14、设a=6,b=2,表达式a*=a+b运算后a的值为 48 。
15、设x=3.8.,a=9,y=5.3,表达式x+a%2*(int)(x+y)%2/4的值 3.8 。
二、选择题(每小题2分,共26分)1、一个C程序的执行是从 AA)本程序的main函数开始,到main函数结束。
电子科技大学c语言考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:A2. 在C语言中,以下哪个是正确的字符串声明?A. char str = "Hello";B. string str = "Hello";C. str char = "Hello";D. char str[] = "Hello";答案:D3. 下列哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B4. C语言中,哪个函数用于计算数组中元素的个数?A. count()B. length()C. size()D. sizeof()答案:D5. 在C语言中,以下哪个是正确的二维数组声明?A. int array[3, 4];B. int array[3][4];C. int array[3][];D. int array[][];答案:B6. 下列哪个关键字用于循环结构?A. ifB. whileC. switchD. for答案:D7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncpy()D. strncat()答案:A8. 在C语言中,以下哪个是正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. int add(int, int);D. int add();答案:A9. 下列哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C10. 在C语言中,以下哪个是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;string name;};D. struct Student {int id;char name;};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案100%通过考试:2022年秋期电大把该网络课纳入到“国开平台”进行考核,该课程共有4个形考任务,针对该门课程,本人汇总了该科所有的题,形成一个完整的标准题库,并且以后会不断更新,对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
课程总成绩=形成性考核某50%+终结性考试某50%形考任务1一、选择题〔共40分,每题2分〕题目1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为〔〕。
选择一项: A.main恭喜你,答对啦!!题目2C语言源程序文件的缺省扩展名为〔〕。
选择一项: D.c题目3由C语言目标文件连接而成的可执行文件的缺省扩展名为〔〕。
选择一项: B.e某e题目4程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为〔〕。
选择一项: D.空格或回车题目5每个C语言程序文件的编译错误被分为〔〕。
选择一项: B.2类题目6不符合C语言规定的复合语句是〔〕。
选择一项: D.{y=10}题目7C语言程序中的根本功能模块为〔〕。
选择一项: D.函数题目8在一个函数定义中,函数头包括的3个局部依次为函数类型、函数名和〔〕。
选择一项: C.参数表题目9在一个程序文件中,假设要使用#include命令包含一个用户定义的头文件,那么此头文件所使用的起止定界符为一对〔〕。
选择一项: B.双引号题目10在C语言程序中,多行注释语句使用的开始标记符为〔〕。
选择一项: B./某题目11在printf()函数调用的格式字符串中,假设使用格式符为“%c”,那么对应输出的数据类型为〔〕。
选择一项: A.char题目12在printf()函数调用的格式字符串中,假设使用格式符为“%5d”,那么规定对应输出的数据占用的字符位置个数为〔〕。
一单项选择题每题2分共44分1 以下叙述正确的是__C_A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从_B__开始执行的A 程序中第一个函数B 名为main的函数C 包含文件头文件的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句_B__A a b 58B iC a 58b 58D k int ab4 下面标识符中合法的用户标识符是_B__A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中正确的是_A__A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是_A__A B C D7 设a和b均为int型变量则执行以下语句后的输出为_B__int a 20 int b 3 printf "d\n"a b 2A 20B 21C 0D 238 已知int i则执行语句 i 26后i的值为_A__A 2B 3C 26D 不确定9 以下合法的字符常量为_D__A abB \482C \D \xaf10 若y为int型变量则执行以下语句后y的值是_C__y 8 y y- yyA 64B –56C –112D –4811 以下合法的浮点型常量是_D__A e-3B 15e24C 314e2LD 314 e 512 设int数据占用两个字节float数据占用四个字节double数据占用8个字节且已知float a 2int b 3则执行下列语句输出为__A_printf "d"sizeof ab 25A 4B 8C 6D 713 设int型占2个字节且int i -2则语句printf "u"i 的输出结果为_C __A 0B -2C 65534D 6553514 若xyz均为整型常量且a 100则执行下列语句后的z值为_A_x a y --a z xy-a--A 100B 400C 200D 30015 若有以下定义和语句int u 010v 0x10w 10printf "ddd\n"uvw 则输出结果是_A__A 81610B 101010C 8810D 8101016 设xy为int型变量则执行下列语句后y的值是__A _x 5 y xx y --y--yA 529B 2401C 1209D 62517 假设在程序中abc 均被定义成整型并且已赋大于1的值则下列能正确表示代数式A 1abcB 1 abcC 1ab float cD 10abc18 若有定义int a 8b 5cchar d A则执行语句c abda05后c的值为_A__A 2B 25C 3D 类型不一致无法计算编译出错19 在有以下程序mainint i 10j 1i ijprintf "ddd\n"iji执行后输出结果是_C_A 12311B 12211C 11311D 1231220 已知int i 65则putchar i printf "d"i printf "c"i 的输出结果为_A__A A65AB 6565AC AA65D AAA21 已知int yai 1则语句printf "dd"-i y a 363 的输出结果为_A__A -110B -218C 03D 11822 有以下程序mainchar abcda \b \xbcc \0xabd \023printf "cccc\n"abcd编译时出现错误以下叙述中正确的是_A__A 程序中只有a \语句不正确B b \xbc语句不正确C d \023语句不正确D a \和c \0xab语句都不正确二填空题第1题2分其余每题3分共56分1 设x为int型变量请写出描述x是偶数的表达式是_x2 0__2 已知scanf "a db dc d"abc 若从键盘输入234三个数分别作为变量abc 的值则正确的输入形式是_a 2b 3c 4__3 设有语句int a 3则执行了语句 a a- aa后变量a的值是_-12__4 以下程序的输出结果是_10 6__mainint a -10b -3printf "d\n"-aprintf "d\n"-ab5 以下程序的输出结果是_242__mainchar cc 0362printf "d\n"c6 以下程序段n所赋的是八进制数int m 32767n 032767 printf "do\n"mn7 字符串"\\name\\\101ddress\b\xaf"的长度为_15__8 有以下程序段int m 0n 0 char c ascanf "dcd"mcnprintf "dcd\n"mcn若从键盘上输入10A10 则输出结果是_10A10__9 以下程序的输出结果是___mainprintf "dox\n"101010printf "ddd\n"100100x10printf "dx\n"01201210 设abc为整形变量且a 2b 3c 4则执行完语句 a 16 b - c 之后变量a 的值为_28_11 以下程序的输出结果为__12_mainint x 023printf "x\n"--x12 以下程序的结果为___mainint a 2b 3cdc a a ad b b bprintf "a d c d\n"acprintf "b d d d\n"ad13 以下程序mainchar ch1ch2ch3scanf "ccc"ch1ch2ch3printf "ccccc"ch1ch2ch3当输入ABC时运行结果为 1 当输入A BC时运行结果为 214 若有定义float x以下程序段的输出结果是___x 516894printf "f\n" int x100005 float 100015 以下程序的功能是输入一个小写字母输出对应的大写字母将程序补充完整mainchar ch1 从键盘输入一个小写字母2 将该字母转换为大写字母3 输出转换后的结果16 当运行以下程序时在键盘上从第一列开始输入9876543210↙此处↙代表回车则程序的输出结果是___mainint a float bcscanf "2d3f4f"abcprintf "\na db fc f\n"abc17 以下程序的运行结果是___mainprintf "125f\n"1231234567printf "12f\n"1231234567printf "128d\n"12345printf "128s\n""abcdefghij"18 运行以下程序时如从键盘上输入abcdefg↙则输出结果是___mainchar ch1ch2ch3ch1 getchar ch2 getchar ch3 getcharputchar ch1 putchar ch2 putchar ch3putchar \n}19 运行以下程序时如从键盘上输入 a 3b 5↙353512↙abc↙后结果是___mainint ab float xy char c1c2scanf "a db d"abscanf "fe"xyscanf "ccc"c1c1c2printf "a db dx fy fc1 cc2 c\n"abxyc1c2顺序选择结构程序设计一单项选择题每题2分共40分1 以下程序运行后的输出结果是mainint a 0b 0a 10b 20 printf "ab d\n"abA ab 10B ab 30C 30D 出错以下程序运行后的输出结果是maindouble d 32 int xyx 12 y x38 50printf "d\n"dyA 3B 32C 0D 3073 以下程序运行后的输出结果是maindouble d float f long l int ii f l d 203printf "d ld 1f 1f\n"ilfdA 6 6 60 60B 6 6 67 67C 6 6 60 67D 6 6 67 604 以下程序运行后的输出结果是以下程序运行后的输出结果是y x-1 printf "d d\n"xyy z---1 printf "d d "zxy --z-1 printf "d d\n"zxA 3 1 4 3B 3 1 3 3C 3 1 4 3D 2 1 3 22 4 1 4 2 4 2 2 2 4 1 2 13 1 26 以下程序运行后的输出结果是mainint xyzx y 1z xyyprintf "ddd\n"xyzA 233B 232C 231D 2217 以下程序运行后的输出结果是mainint x 4y 7x- y y xprintf "d d\n"xyA 4 7B -3 -3C -3 11D -3 48 以下程序运行后的输出结果是printf "d\n"b aA 65536B 0C 1D -19 以下程序abc C abc D abc11 在嵌套使用if语句时C语言规定else总是A 和之前与其具有相同缩进位置的if配对B 和之前与其最近的if配对C 和之前与其最近不带else的if配对D 和之前的第一个if配对以下程序运行后的输出结果是A 0B 1C 2D 314 若k是int型变量下面的程序段的输出结果是 Ck -3if k 0 printf ""else printf ""A BC D 有语法错误无输出15 以下程序运行后的输出结果是以下程序运行后的输出结果是main int x1 1x2 0x3 0if x1 x2x3 printf ""else printf ""A B 有语法错误 C D 无输出结果17 当a 1b 3c 5d 4时执行下面一行程序后x的值是_B__if a bif c d x 1else if a cif b d x 2else x 3else x 6else x 7A 1B 2C 3D 618 下列叙述中正确的是A break语句只能用于switch语句B 在switch语句中必须使用defaultC break语句必须与switch语句中的case配对使用D 在switch语句中不一定使用break语句以下程序运行后的输出结果是includemainint x 1y 0a 0b 0switch xcase 1switch ycase 0abreakcase 1bbreakcase 2abbreakprintf "a db d\n"abA a 2b 1B a 1b 1C a 1b 0D a 2b 2二填空题每题3分共30分1 以下程序运行后的输出结果是以下程序运行后的输出结果是以下程序运行后的输出结果是mainint i 5jkj iiik i i iprintf "i 5d j 5d\nk 5d\n"ijk4 下面的程序运行时从键盘上输入9876543210 程序的输出结果是___mainint a float bcscanf "2d2f2f"abcprintf "a db 1fc 0f"abc5 下面程序的输出结果是___mainchar ch1ch2ch1 A5-3 ch2 A6-3printf "dc\n"ch1ch26 执行下面的语句printf "d\n" a 35a4a5 输出是___7 以下程序运行后的输出结果是int x 3if x2 printf "d"x printf "d\n"x10 以下程序运行后的输出结果是switch m2case 1 mcase 2 m 3case 5 m 6breakdefault m- 7printf "d\n"m三程序填空每空5分共30分1 下列程序的输出结果是1600请填空mainint a 9b 2float x 1 y 11zz a2bxy12printf "52f\n"z2 完成以下程序输入变量abc的值判断abc能否组成三角形计算三角形面积公式为include2mainint abc3printf "please input the value of abc"scanf "d d d" 4if 56s sqrt p p-a p-b p-cprintf "Yesthis is a triangle\n the area is 2f\n"selse printf "Nothis is not a triangle\n"循环结构程序设计一单项选择题每题2分共40分1 以下程序中while循环的循环次数是___mainint i 0while i 10if i 1 continueif i 5 breakiA 1B 10C 6D 死循环2 以下程序的执行结果是___mainint n 9while n 6 n-- printf "d"n该程序的输出结果是A 987B 876C 8765D 98763 以下程序段while循环执行的次数是___int k 0while k 1 kA 无限次B 有语法错C 一次也不执行D 执行1次4 以下叙述正确的是___A do-while语句构成的循环不能用其它语句构成的循环来代替B do-while语句构成的循环只能用break语句退出C 用do-while语句构成的循环在while后的表达式为非零时结束循环D 用do-while语句构成的循环在while后的表达式为零时结束循环5 以下程序的执行结果是___mainint aya 10 y 0do a 2 y aprintf "a d y d\n"ayif y 20 breakwhile a 14A a 12 y 12B a 12 y 12a 14 y 16 a 16 y 28a 16 y 20a 18 y 24C a 12 y 12D a 12 y 12a 14 y 26a 14 y 446 以下程序的执行结果是___mainint x 23do printf "d"x-- while xA 321B 23C 不输出任何内容D 陷入死循环7 有以下程序段输出结果是___int x 3do printf "d "x- 2 while - -xA 1B 3 0C 1 -2D 死循环8 以下程序的输出结果是___mainint a 0ifor i 1i 5iswitch icase 0 case 3 a 2case 1 case 2 a 3defaulta 5printf "d\n"aA 31B 13C 10D 209 以下程序的输出结果是___mainint i 0a 0while i 20forif i10 0 breakelse i--i 11 a iprintf "d\n"aA 21B 32C 33D 1110 以下循环体的执行次数是___mainint ijfor i 0j 1i j1i 2j-- printf "d \n"iA 3B 2C 1D 011 下列程序的输出结果是___mainint ijm 0n 0for i 0 2ifor j 0j 2jif j i m 1nprintf "d\n"nA 4B 2C 1D 012 下列程序的输出结果是___mainint isumfor i 1i 3sum sum iprintf "d\n"sumA 6B 3C 死循环D 013 以下程序执行后sum的值是___mainint isumfor i 1i 6i sum iprintf "d\n"sumA 15B 14C 不确定D 0 14以下程序执行后的输出结果是___mainint in 0for i 2i 5ido if i3 continue n while inprintf "n d\n"nA n 5B n 2C n 3D n 415 下列语句中能正确输出26个英文字母的是___A for a aa zprintf "c"aB for a aa z printf "c"aC for a aa zprintf "c"aD for a aa zprintf "c"a16 以下程序执行后的输出结果是___mainint x 1y 1while y 5if x 10 breakif x2 0x 5 continuex- 3 yprintf "dd"xyA 66B 76C 103D 7317 以下程序执行后的输出结果是___mainint a 5while a-- 5switch acase 1acase 4a 4case 5a 5breakdefaulta- 5printf "d\n"aA 12B 7C 5D 1318 对于下面的for循环语句可以断定它执行___次循环for x 0y 0 y 67 x 5 x printf "----"A无限 B 不定 C 5次 D 4次19 在执行以下程序时如果从键盘上输入ABCdef则输出结果为___include "stdioh"mainchar chwhile ch getchar \nif ch A ch Z ch ch32else if ch a ch z ch ch-32printf "c"chprintf "\n"A ABCdefB abcDEFC abcD DEF20 当执行以下程序时___int a 1do a aa while aA 循环体将执行1次B 循环体将执行2次C 循环体将执行无限次D 系统将提示有语法错误二填空题每空3分共33分1 若输入字符串abcde 则以下while循环体将执行___次while ch getchar e printf ""2 以下while循环执行的次数是___k 0 while k 10 k k13 下列程序的输出结果是___mainint x 0y 5z 3while z-- 0 x 5 y y-1printf "ddd\n"xyz4 下面程序的功能是计算1到10之间的奇数之和及偶数之和请填空mainint abcia c 0for i 0i 10i 2a i_ 1c bprintf "偶数之和 d\n奇数之和 d\n"a 25 下面程序的功能是输出100以内能被3整除且个位数为6的所有整数请填空mainint ijfor i 0 _ 1 ij i106if _ 2 continueprintf "d\n"j6 以下程序的输出结果是___mainint sifor s 0i 1i 3is iprintf "d\n"s7 要使以下程序段输出10个整数请填入一个整数for i 0i ___printf "d \n"i 28 程序的功能是根据以下近似公式求π值请填空完成求π的功能include "mathh"mainint n 30000 double s 00 long ifor i 1i ni s s_ 1printf "pi f\n"_ 2三程序填空题每空3分共27分1 下列程序是求的值include "stdioh"mainint i 2 float sum 1while 1sum sum10i 2printf "sum f\n" 32 以下程序的功能是从键盘输入若干个学生的成绩统计最高成绩和最低成绩当输入为负数时结束输入mainfloat xminscanf "f"xmin 1do if x xif x min 2scanf "f"xwhile 3printf "ff"min3 下面的程序用来求出所有的水仙花数所谓水仙花数是指一个3位数它的各位数字的立方和恰好等于它本身mainint nijkfor n 100 1 判断3位数n是否是水仙花数i n100 i是n的百位上的数字j 2 j是n的十位上的数字k n10 k是n的个位上的数字if 3 printf "d\n"n数组一单项选择题每题2分共40分1 以下对一维整型数组a的正确定义说明的是___A int a 10 Bint n 10a[n] C int n D define SIZE 10scanf "d"n int a[SIZE]int a[n]2 若有定义说明int a[10]则对数组a的元素正确引用的是___A a[10]B a[35]C a 5D a[10-10]3 执行下面程序段后变量k 的值是___int k 3s[2]s[0] k k s[1]10A 不定值B 33C 30D 104 以下程序的输出结果是___mainint ika[10]p[3]k 5for i 0i 10i a[i] ifor i 0i 3i p[i] a[i i1 ]for i 0i 3i k p[i]2printf "d\n"kA 20B 21C 22D 235 以下对一维整型数组a初始化的语句中正确的是___A int a[10] 00000B int a[10]C int x 2a[10] 10xD int a[10] 06 若有以下说明则数值为4的表达式是___int a[12] 123456789101112char c adgA a[g-c]B a[4]C a[d-c]D a[d-c]7 下列程序运行后的输出结果是___define 10void mainint isuma[] 12345678910sum 1for i 0i i sum- a[i]printf "sum d\n"sumA sum 55B sum -54C sum -55D sum 548 以下程序的输出结果是___mainint y 18i 0ja[8]do a[i] y2 i y y2 while y 1for j i-1j 0j-- printf "d"a[j]A 1000B 1001C 1010D 11009 以下对二维数组a的正确定义说明的是___A int a[3][]B float a 34 Cdouble a[1][4] D float a 3 410 若有定义说明int a[3][4]则对数组a的元素的引用非法的是___A a[2][21]B a[1][3]C a[4-2][0]D a[0][4]11 以下不能对二维数组a进行正确初始化的语句是___A int a[2][3] 0B int a[][3] 12 0C int a[2][3] 12 34 56D int a[][3] 12345612 下列数组定义语句中正确的是___A char a[][] abcdefB char a[2][3] abC char a[][3] abcdefD char a[][] abcdef13 下列程序运行后的输出结果是___mainint a[4][4]ijkfor i 0i 4ifor j 0j 4j a[i][j] i-jfor i 1i 4ifor j i1j 4jk a[i][j] a[i][j] a[j][i] a[j][i] kfor i 0i 4iprintf "\n"for j 0j 4j printf "4d"a[i][j]A 0 -1 -2 -3B 0 1 2 31 0 -1 -2 -1 0 1 22 1 0 -1 -2 -1 0 13 2 1 0 -3 -2 -1 0C 0 -1 -2 -3D 0 1 2 31 0 12 -1 0 -1 -22 -1 0 1 -2 1 0 -23 -2 -1 0 -3 2 1 014 以下程序的输出结果是___mainint ia[4][4] 135 246 357printf "dddd\n"a[0][3]a[1][2]a[2][1]a[3][0]A 0650B 1470C 5430D 输出值不定15 有以下程序mainint x[3][2] 0 ifor i 0i 3i scanf "d"x[i]printf "3d3d3d\n"x[0][0]x[0][1]x[1][0]若运行时输入2 4 6 则输出结果是___A 2 0 0B 2 0 4C 2 4 0D 2 4 616 下列描述不正确的是___A 字符型数组中可以存放字符串B 可以对字符型数组进行整体输入和输出C 可以对整型数组进行整体输入和输出D 不能在赋值语句中通过赋值运算符对字符型数组进行整体赋值17 对于以下定义叙述正确的是___char x[] "abcdef"char x[] ab cdefA 数组x和数组y等价B 数组x和数组y的长度相等C 数组x的长度大于数组y的长度D 数组x的长度小于数组y的长度18 以下选项中不能正确赋值的是___A char s1[10]s1 "Ctest"B char s2[] CtestC char s3[20] "Ctest"D char s4[30]strcpy s4"Ctest"19 若有定义和语句char s [10]s "abcd"printf "s\n"s 则输出结果是___以下□表示空格A abcdB aC abcd□□□□□D 编译不通过20 当执行下面程序时如果输入ABC则输出结果是___includeincludemainchar ss[10] "12345"gets ss strcat ss "6789"printf "s\n"ssA ABC6789B ABC67C 12345ABC6D ABC45678二填空题每空3分共24分1 若int类型变量占两个字节定义int x[10] 024 则数组x在内存中所占的字节数是___2 若有定义char a[] "\\141\141abc\t"则数组a在内存中所占的字节数是___3 下列程序的输出结果是___mainint ia[10]for i 9i 0i-- a[i] 10-iprintf "ddd\n"a[2]a[5]a[8]4 下列程序运行的结果是mainchar ch[7] "65ab21" int is 0for i 0ch[i] 0 ch[i] 9i 2 s 10sch[i]-0printf "d\n"s5 有定义语句char s[100]d[100]int j 0i 0且s中已赋字符串请填空以实现字符串复制注意不得使用逗号表达式while s[i]d[j] ___ jd[j] 06 下面程序运行的结果是mainchar s[] "abcdef"s[3] \0printf "s\n"s7 以下程序的输出结果是mainchar ch[3][5] "AAAA""BBB""CC"printf "\"s\"\n"ch[1]8 以下程序的输出结果是___mainchar ch[] "abc"x[3][4] int ifor i 0i 3i strcpy x[i]chfor i 0i 3i printf "s"x[i][i]printf "\n"三程序填空题每空3分共36分1 以下程序的功能是从键盘上输入若干个学生的成绩用输入负数结束输入统计出平均成绩并输出低于平均分的学生成绩请填空include "stdioh"mainint n 0i float x[1000]sum 00aveaprintf "Enter mark\n" scanf "f"awhile a 00 n 1000sum 1 x[n] 2n scanf "f"aave 3print "Output\n"printf "ave f\n"avefor i 0i ni if 4 printf "f\n"x[i]2 以下程序的功能是求出矩阵x的上三角元素之积其中矩阵x的行列数和元素的值均由键盘输入请填空define M 10mainint x[M][M] int nij long s 1printf "Enter a integer 10 \n"scanf "d"nprintf "Enter d data on each line for the array x\n"nfor 1for j 0j nj scanf "d"x[i][j]for i 0i nifor 2 3printf "ld"s3 以下程序数组a中存放一个递增数列输入一个整数并将它插入到数组a 中使之仍为一个递增数列请填空mainint a[ 1 ] 1102030405060708090 xipscanf "d"xfor i 0p 10i 10iif x a[i] p i 2for i 9i pi-- a[i1] a[i]3for i 0i 10i printf "5d\n"a[i]printf "\n"4 以下程序的功能是将t数组的内容连接到s数组内容的后面使s数组保存连接后的新字符串mainstatic char s[30] "abcdefg"t[] "abcd" int i 0j 0while s[i] \0 1while t[j] \0 s[ij] t[j] j2printf "s\n"s函数一单项选择题每题2分共40分1 以下正确的函数定义是___A double fun int xint yB double fun int xyz xy return z int z return zC fun xyD double fun int xint yint xy double z double zz xy return z return z2 以下正确的说法是___A 实参和与其对应的形参各占用独立的存储单元B 实参和与其对应的形参共占用一个存储单元C 有当实参和与其对应的形参同名时才共占用相同的存储单元D 形参是虚拟的不占用存储单元3 若调用一个函数且此函数中没有return语句则正确的说法是___A 该函数没有返回值B 该函数返回若干个系统默认值C 能返回一个用户所希望的函数值D 返回一个不确定的值4 以下正确的描述是___A 函数的定义可以嵌套但函数的调用不可以嵌套B 函数的定义不可以嵌套但函数的调用可以嵌套C 函数的定义和函数的调用均不可以嵌套D 函数的定义和函数的调用均可以嵌套5 若用数组名作为函数调用的实参传递给形参的是___A 数组的首地址B 数组中第一个元素的值C 数组中的全部元素的值D 数组元素的个数6 以下不正确的说法是___A 在不同函数中可以使用相同名字的变量B 形式参数是局部变量C 在函数内定义的变量只在本函数范围内有定义D 在函数内的复合语句中定义的变量在本函数范围内有定义7 已知一个函数的定义如下double fun int x double y则该函数正确的函数原型声明为___A double fun int xdouble yB fun int xdouble yC double fun intdoubleD fun xy8 关于函数声明以下不正确的说法是___A 如果函数定义出现在函数调用之前可以不必加函数原型声明B 如果在所有函数定义之前在函数外部已做了声明则各个主调函数不必再做函数原型声明C 函数在调用之前一定要声明函数原型保证编译系统进行全面的调用检查D 标准库不需要函数原型声明9 调用函数的实参与被调用函数的形参应有如下关系___A 只要求实参与形参个数相等B 只要求实参与形参顺序相同C 只要求实参与形参数据类型相同D 上述三点均需具备10 凡在函数中未指定存储类别的变量其隐含的存储类别是___A 自动B 静态C 外部D 寄存器11 在源程序的一个文件中定义的全局变量的作用域是___A 在本文件的全部范围B 该程序的全部范围C 一个函数的范围D 从定义该变量的位置开始至该文件的结束12 下列程序运行后的输出的数据是___int sum int nint p 1s 0ifor i 1i ni s p ireturn smainprintf "sum 5 d\n"sum 5A sum 5 151B sum 5 152C sum 5 153D sum 5 15513 下列程序运行后的输出结果是___int c 1mainstatic int a 5int b 6printf "a db dc d\n"abcfuncprintf "a db dc d\n"abcfuncfuncstatic int a 4int b 10a 2c 10b cprintf "a db dc d\n"abcA a 5b 6c 1B a 5b 6c 11C a 5b 6c 1D a 5b 6c 1 a 6b 21c 11 a 5b 21c 11 a 5b 21c 11 a 6b 21c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11a 8b 31c 21 a 8b 31c 21 a 8b 31c 21 a 5b 31c 2114 运行下面的程序后其输出结果是___mainint a 6b 2cc f a f bprintf "d\n"cint f int xint yy xxreturn yA 9B 6C 36D 1815 下列程序输出结果是___includemystatic int x 3xreturn xmainint ixfor i 0i 2i x myprintf "d\n"xA 3B 4C 5D 616 下列程序的输出结果是___includeint abc int uint vint wwhile v w uv u v v wreturn umainint a 24b 16cc abc abprintf "d\n"cA 8B 6C 5D 417 下列程序运行后的输出结果是___mainstatic char s[] "abcdefgca"p s printf "s[] s\n"sp char s[]int ijfor i j 0s[i] \0i if s[i] a2 s[j] s[i]s[j] \0A s[] abcdefgcaB s[] abdefgaC s[] bcdefgcD 程序有错18 下列程序运行后的输出结果是___void mainint m 4n 2kk fun mn printf "d\n"kk fun mn printf "d\n"kint fun int xint ystatic int n 3i 2i n1 n ixyreturn nA 12B 12C 12D 1212 23 25 16 19 下列程序运行后的输出结果是___int x 1mainint i 5fun iprintf "dd\n"ixfun mint mm xx mchar x A printf "d\n"xprintf "dd\n"mxA 65B AC AD 6561 61 67 6761 61 67 5720 下列程序运行后若从键盘输入ABC四个字符后程序输出是___includemainvoid receivreceivvoid receivchar cc getcharputchar cif c receivputchar cA ABCB ABCABC C ABCCBAD ABCABC 二填空题每空3分共30分1 函数调用语句fun ab cde 实参个数为___2 凡在函数中未指定存储类别的局部变量其默认的存储类别为___3 在一个C程序中若要定义一个只允许本源程序文件中所有函数使用的全局变量则该变量需要定义的存储类别为___4 C语言规定调用一个函数时实参变量和形参变量之间的数据传递方式是___5 运行下面程序其输出结果是___includeint xyoneint aba 25b 10x a-by abmainint aba 9b 5x aby a-boneprintf "dd\n"xy6 运行下面程序其输出结果是___includemainvoid printdint n 123printd nvoid printd int nint iif n 0 n -n putchar -putchar n100if i n10 0 printd i7 运行下面程序从键盘输入四个字符xyz其输出是___includemainvoid recursionrecursionvoid recursionchar cc getcharputchar cif c recursionputchar c8 以下程序的输出结果是___includevoid fun int xif x2 0 fun x2 printf "d "x mainfun 3 printf "\n"9 以下程序运行结果是___int a 1int f int cstatic int a 2c c1return a cmainint ik 0for i 0i 2i int a 3 k f ak aprintf "d\n"k10.以下程序的运行结果是___int k 0void fun int mm k k m printf "m d\n k d "mkmainint i 4fun i printf "i d k d\n"ik三程序填空题每空3分共30分1 一个整数称为完全平方数是指它的值是另一个整数的平方例如81是个完全平方数因为它是9的平方下列程序是在三位的正整数中寻找符合下列条件的整数它既是完全平方数且三位数字中又有两位数字相同例如14412126762626等。
您的本次作业分数为:53分单选题1.【第1章】合法的C语言长整型常数是()。
• A 0L• B 5712700• C 0.054838743• D 2.1869e10单选题2.【第1章】以下选项中正确的整型常量是()。
• A 12.• B -20• C l,000• D 0458单选题3.【第1章】C语言中运算对象必需是整型的运算符是()。
• A \• B +• C *• D %单选题4.【第1章】以下选项中不合法的用户标识符是()。
• A abc.c• B file• C Main• D PRINTF单选题5.【第1章】()是C语言提供的合法的数据类型关键字。
• A Float• B signed• C integerD、单选题6.【第1章】()是构成C语言程序的基本单位。
• A 函数• B 过程• C 子程序• D 文件单选题7.【第1章】以下选项中不合法的用户标识符是()。
• A l23• B printf• C $• D Dim单选题8.【第1章】以下选项中不正确的实型常量是()。
• A 2.607E-1• B 0.8103e2.• C 77.77• D 456e-2单选题9.【第1章】C语言中,要求运算数必须是整型的运算符是()。
• A %• B /• C <• D !单选题10.【第3章】若int i=0;下列语句计算1+2+…+10的是()。
• A while(s+=i);• B for(;i<=10;i++,s+=i)• C for(;i<=10;s+=i,i++)• D for(;i<9;i++,s+=i)单选题11.【第3章】执行语句for(i=0;i++<5;);后,变量i 的值是()。
• A 6• B 5• C 4• D 0单选题12.【第9章】如有定义:int x=2,*p=&x;以下哪些表达式的含义是不正确的。
• A *&p• B *&x• C &*p• D &*x提示:指针可以作取地址运算,变量不能作取内容运算。
电子科大10秋学期《C语言》在线作业一试卷总分:100 测试时间:--一、单选题(共35 道试题,共70 分。
)V1. C语言中用于循环结构程序设计的三种常用控制语句是( C )A. if、for、continueB. if、switch、breakC. for、while、do-whileD. 顺序结构、选择结构、循环结构满分: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+2C. *(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",&x ) else scanf("%d",&y);D. if(x<y) {x++;y++;}满分:2 分7. 以下对一维整型数组a的正确说明是( D)A. int a(10)B. int n=10,a[n];C. int n;scanf("%d",&n);int a[n];D. #define SIZE 10 <CR> int a[SIZE];满分:2 分8. 下述关于条件语句的描述中错误的是(C )A. if语句中只有一个else子句B. if语句中可以有多个else if 子句C. if语句中if体内不能有switch语句D. if语句的if体中可以是循环语句满分:2 分9. 语句while(!E)中的表达式!E等价于(A )A. E==0B. E!=1C. E!=0D. E==1满分:2 分10.下面程序的运行结果是( D)#include "stdio.h"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;p=&std; 则以下对结构体变量std中成员age的引用方式不正确的是( D)A. std.ageB. p->ageC. (*p).ageD. *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<int<1ong int<=float<doubleB. char=int<1ongint<=float<doubleC. char<int<1ongint=float=doubleD. char=int=1ong int<=float<double满分:2 分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+6B. *(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=2C. x%(-3)D. y=f1oat(i)满分:2 分27. 下面四个选项中,均是不合法的浮点数的选项是( )A. 160 0.12 e3B. 123 2e4.2 .e5C. -.18 123e4 0.0D. -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、5B. 0、1、5、2、3C. 0、1、5、6、7D. 3、4、5、6、7满分:2 分31.有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include<string.h>void f(char *p[],int n){char *t;int i,j;for(i=0; i<n-1; i++)for(j=i+1;j<n; j++)if(strcmp(p[i],p[j])>0){t = p[i];p[i]=p[j];p[j] =t;}}main( ){ char *p[5] ={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”}f(p,5);printf(“%d\n”,strlen(p[1]));}程序运行后的输出结果是( D)A. 2B. 3C. 6D. 4满分:2 分32. x,i,j和k都是int型变量,则执行下面表达式后x的值为(C ) x=(i=4,j=16,k=32)A. 4B. 16C. 32D. 52满分:2 分33.下面程序段的运行结果是( C)char c[5]={'a','b','\0','c','\0'};printf("%s",c);A. ’a’’b’B. abC. ab cD. ab□(其中□表示空格)满分:2 分34. 以下不正确的定义语句是( B)A. double x[5]={2.0,4.0,6.0,8.0,10.0};B. int y[5]={0,1,3,5,7,9};C. char c1[]={’1’,’2’,’3’,’4’,’5’};D. char c2[]=}{'\x10','\xa','\x8'};满分:2 分35. 以下正确的描述是( B)A. continue语句的作用是结束整个循环的执行B. 只能在循环体内和switch语句体内使用break语句C. 在循环体内使用break语句或continue语句的作用相同D. 从多层循环嵌套中退出时, 只能使用goto语句满分:2 分二、多选题(共5 道试题,共10 分。
)V1. 以下关于C源程序文件的说法中正确的是( BD)A. 是一种二进制文件B. 是一种文本(ASCII码)文件C. 可以用DOS的type命令显示其内容D. 文件扩展名一般为c满分:2 分2. 以下数据类型在内存中占用4个字节的是( BC)A. intB. unsigned longC. floatD. unsigned char满分:2 分3. 定义char s[81]; 后,能正确输入一个字符串到数组s的语句是(ACD )A. gets(s);B. scanf (”%c”,s);C. scanf (”%s”,&s[0]);D. gets(&s[0]);满分:2 分4. 以下程序正确计算p=n! (n>=0)的是(AB)A. for(p=1.0,k=1;k<=n;) p*=k++;B. p=1.0;k=0;while(k<n) p*=++k;C. p=1.0;k=1;do{++k;p*=k;} while(k<=n);D. p=1.0;for(k=n;k>=1;k--) p*=k--;满分:2 分5. 下面关于C语言的说法错误的是( ABC)A. C函数必须有形式参数B. 任何复合语句体的{ }中允许定义局部变量C. 局部变量都存储在动态存贮区D. C程序的执行起点只能是main函数满分:2 分三、判断题(共10 道试题,共20 分。