22秋西交《程序设计基础》在线作业[答案][答案]
时间:2023-02-09 00:55 来源:奥鹏教育 作者:奥鹏作业答案 点击:次
正确答案:A
正确答案:B 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 40 分) 1.以下叙述中正确的是( ) A.构成C程序的基本单位是函数 B.可以在一个函数中定义另一个函数 C.main()函数必须放在其他函数之前 D.C函数定义的格式是K&R格式 正确答案:C
2.以下叙述中不正确的是( ) A.在不同的函数中可以使用相同的名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效 正确答案:B
3.以下叙述中不正确的是()。 A.一个好的程序应该有详尽的注释 B.在C程序中,赋值运算符的优先级最低 C.在C程序中,j++;是一条赋值语句 D.C程序中的#include和#define均不是C语句 正确答案:D
4.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。 A.EOF B.0 C.非零值 D.NULL 正确答案:D
5.设C语言中,int类型数据占2个字节,则short类型数据占()。 A.1个字节 B.2个字节 C.4个字节 D.8个字节 正确答案:B
6.每条C语句后面都要有一个( ) A.逗号 B.冒号 C.分号 D.括号 正确答案:A
7.关于建立函数的目的,以下正确的说法是()。 A.提高程序的执行效率 B.提高程序的可读性 C.减少程序的篇幅 D.减少程序文件所占内存 正确答案:D
8.关于链表的插入和删除,下列说法错误的是( ) A.插入位置包括表头、表中和表尾 B.从链表中删除一个结点,就是把它从内存中抹掉。 C.要删除链表中的某个结点,需自己定义删除函数。 D.删除结点要注意删除的结点是否是头结点 正确答案:A
9.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。 long a=0xffffff; int b; char c; A.0ffffff 和0x61 B.-1和98 C.-1和97 D.指向同一地址 正确答案:D
10.下列类型中错误的是( ) A.unsigned B.unsigned float 正确答案:D C.unsigned long int 正确答案:D 正确答案:B D.unsigned int 正确答案:C 正确答案:C
11.在C语言中,char型数据在内存中的存储形式是()。 A.补码 B.反码 C.原码 D.ASCII码 正确答案:A
12.{图}。 A.A B.B C.C D.D 正确答案:B 正确答案:C
13.以下不能正确定义二维数组的选项是( ) A.int a[2][2]={{1},{2}}; B.inta[][2]={1,2,3,4}; C.int a[2][2]={{1},2,3}; D.int a[2][]={{1,2},{3,4}}; 正确答案:D
14.下列程序的输出结果是()。 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d ",a,b); } 正确答案:A A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2 正确答案:C
15.若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。 A.scanf("%d",p); 正确答案:D B.scanf("%d",&p); 正确答案:D C.scanf("%d",*p); 正确答案:A D.scanf("%d",**p); 正确答案:B
16.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是( ) A.a[p-a] B.*(&a[i]) C.p[i] D.a[10] 正确答案:B
17.int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。 A.1 B.2 C.3 D.不一定 正确答案:A
21.下列哪个不是算法的特征( ) A.有穷性 B.可行性 C.不确定性 D.输入 正确答案:D
19.以下运算符中,优先级最高的运算符是()。 A.|| B.% C.! D.== 正确答案:D
20.C语言中,定义结构体的保留字是()。 A.union B.struct C.enum D.typedef 正确答案:D
正确答案:C 二、多选题 (共 20 道试题,共 40 分)21.定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。 正确答案:B A.1112<回车> B.11,<空格>12<回车> C.11,12<回车> D.11,<回车>12<回车> 正确答案:C
22.能正确表示逻辑关系"a≥10"的C语言表达式是()。 A.a≥10 B.!(a<10) C.a>=10 D.x4=1+2=3; 正确答案:A
23.关于while语句与do-while语句,以下正确的是()。 正确答案:C A.while是当型结构 B.do-while是直到型结构 正确答案:C C.两者有区别 D.两者无区别 正确答案:C
24.正确的if语句形式是() A.if (x>y && x!=y); B.if (x==y) x+=y; C.if (x!=y) scanf("%d",&x) else scanf("%d",&y); 正确答案:C D.if (x<y) {x++;y++;} 正确答案:C
25.以下不符合C语言语法的实型常量是()。 A.1.2E0.5 B.3.14.159E C..5E-3 D.E15 正确答案:D
26.以下选项中属于C语言的类型有哪几项 A.signed short int 正确答案:C B.unsigned long int C.unsigned int D.long short 正确答案:D
27.结构体如下所示 struct employees { char name[30]; int age; float wage; } 下面说法正确的有哪几项( ) A.上述形式的定义在程序运行时不会为该结构体类型分配内存空间 B.结构体变量在内存中存放时,占用连续的一段存储空间 C.上述结构体必须有关键字struct D.上述结构体成员的类型不可以是已经定义过的结构体类型 正确答案:B
28.以下选项中不合法的字符常量是()。 A."B" B.'\010' C.68 D.D
21.关于for(表达式1,表达式2,表达式3)循环,以下正确的是()。 A.三个表达式都不可省略 B.表达式1可以省略 C.表达式2可以省略 D.表达式3可以省略 正确答案:B
30.以下叙述正确的是( ) A.预处理命令行都必须以"#"开始 B.在程序中凡是以"#"开始的语句行都是预处理命令行 C.C程序在执行过程中对预处理命令行进行处理 D.#define ABCD是正确的宏定义 正确答案:B
31.下列哪些是算法的描述方法( ) A.自然语言描述法 B.流程图描述法 C.伪代码描述法 D.N-S流程图描述法 正确答案:C
32.下面那些为合法整型常量() A.190 B.0xf C.0765 D.0xk 正确答案:A
33.以下函数,哪些属于动态申请空间的标准库函数 A.malloc() B.calloc() C.free() D.strcmp() 正确答案:A
30.以下描述正确的是()。 A.使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成 正确答案:D B.while循环是先判断表达式,后执行循环语句 C.do-while和for循环均是先执行循环语句,后判断表达式 正确答案:D D.for,while和do-while循环中的循环体均可以由空语句构成 正确答案:C
27.计算机算法可以分为两大类( ) A.数值运算算法 B.非数值运算算法 C.符号运算算法 D.非符号运算算法 正确答案:A
39.能正确表示逻辑关系"a≥10"的C语言表达式是()。 A.a≥10 B.!(a<10) C.a>=10 D.a<10 正确答案:D
23.下列选项中是C语言合法标志符的有()。 A.good_morning 正确答案:B B.main C.stdio.h 正确答案:D D.8abc 正确答案:B
37.设有以下定义int a=0;double b=1.25;cha rc='A';#defined2则下面语句中正确的是()。 正确答案:D A.a++; B.b++; C.c++; D.d++; 正确答案:A
39.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是() 正确答案:A A.循环控制表达式的值为1 B.循环控制表达式的值为0 C.循环控制表达式合法 D.其他说法都不对 正确答案:B
40.以下选项中,合法的字符常量是()。 A.' ' B.'17' C."n" D.'xaa' 正确答案:C
三、判断题 (共 10 道试题,共 20 分) 41.对C语言中用到的任何一个变量都要规定其类型。( )
42.C中*&a是取变量a的地址。()
43.C程序中,当调用函数时,由实参把值传递给形参,调用结束后,再由形参把值传回给实参。()
44.C语言中的标识符以字母或下划线开头,可跟任何字符。( )
45.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )
46.格式字符%md中的m只能为正,不能为负。() 正确答案:B
47.c程序是由c文件构成,而c文件是由函数构成()
48.被main函数调用的函数只能是库函数。( )
41.C程序中的每一行就是一个语句。( )
50.全局变量的作用域一定比局部变量的作用域范围大。()
22秋西交《程序设计基础》在线作业[答案]历年参考题目如下: 20秋学期《高级语言程序设计基础》在线平时作业1 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 100 分) 1.执行下面程序段后,x的值是( )。 int x;printf("%d ",(x=3*5,x+5)); A.10 B.15 C.20 D.5
2.若执行下述程序时从键盘输入3 4,则输出结果是( )。 #include main( ) { int a,b,s; scanf("%d%d",&a,&b); s=a; if (a<b) printf("%d ",s*s); s=b; } A.186 B.256 C.324 D.400
3.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std; A.student.computer=84; B.mark.computer=84; C.std.mark.computer=84; D.std.computer=84;
4.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); } A.输出:* * * * B.输出:# # # C.#存在语法错误 D.无输出结果
5.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。 A.*pc[0]代表的是字符串"aaa B.*pc[0]代表的是字符'a' C.pc[0]代表的是字符串"aaa" D.pc[0]代表的是字符'a'
6.以下正确的函数说明是( )。 A.int fun(int a, b) B.float fun(int a; int b) C.double fun( ) D.int fun(char a[ ][ ])
7.若a为int类型变量,则执行以下程序段后a的值为( )。 a=5;a*=a/=a++; A.2 B.1 C.40 D.3
8.若有定义:int x[10], *p=x;,则*(p+5)表示( )。 A.数组元素x[5]的地址 B.数组元素x[5]的值 C.数组元素x[6]的地址 D.数组元素x[6]的值 E.选项内容11 F.选项内容11
9.函数rewind(fp)的作用是:使文件位置指针( )。 A.重新返回文件的开头 B.返回到前一个字符的位置 C.指向文件的末尾 D.自动移至下一个字符的位置
10.执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; } A.1 B.2 C.4 D.24
11.若有定义:int x[10], *p=x;,则*(p+5)表示( )。 A.数组元素x[5]的地址 B.数组元素x[5]的值 C.数组元素x[6]的地址 D.数组元素x[6]的值 E.选项内容11 F.选项内容11 G.选项内容11
12.以下运算正确的程序段是( )。 A.char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2); B.char str[10], *st="abcde"; strcat(str, st); C.char *st1="ABCDS", *st2="abcde"; strcat(st1,st2); D.char str[10]="", *st="abcde"; strcat(str, st);"
13.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。 A.scanf("c1=%cc2=%c",&c1,&c2); B.getchar( ) C.putchar(c2); D.putchar(c1,c2)"
14.以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。 A.int x=y=z=5; B.int x,y,z=5; C.int x=5,y=5,z=5; D.x=5,y=5,z=5;"
15.若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d ",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d ",a,b,c); A.a=10,b=15,c=10a=10,b=5,c=10 B.a=10,b=10,c=10a=10,b=5,c=10 C.a=10,b=10,c=10a=10,b=5,c=15 D.a=10,b=10,c=10a=10,b=5,c=5
16.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。 A.num%2==1 B.!(num%2==0) C.!(num%2) D.num%2
17.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。 A.2 B.3 C.4 D.无确定值
18.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d ",x%=(y%=2)); A.0 B.1 C.6 D.12
19.以下对指针变量的操作中,不正确的是( )。 A.int p, *q; q=&p; B.int *p, *q; q=p=NULL; C.int a=5, *p; *p=a; D.int a=5, *p=&a, *q=&a; *p=*q;" (责任编辑:admin) |