正确答案:D
《C程序设计》2023年春学期在线作业1题目 试卷总分:100 得分:100 一、单选题 (共 20 道试题,共 60 分) 1.有以下程序 main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a[3], *q=p+2; printf(%d , *p + *q); } 程序运行后的输出结果是() A.16 B.10 C.8 D.6 2.fseek(fd
正确答案:D
《C程序设计》2023年春学期在线作业1题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.有以下程序 main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2; printf("%d ", *p + *q); } 程序运行后的输出结果是()
正确答案:A
A.16
B.10
C.8
D.6
正确答案:B
正确答案:C
2.fseek(fd,-10L,1)中的fd和1分别为()
正确答案:A
A.文件指针,文件的开头
B.文件指针,文件的当前位置
C.文件号,文件的当前位置
D.文件号,文件的开头
正确答案:B
3.若有下面的变量定义, int i,a[10],*p;以下语句中合法的是()
A.p=a+2;
B.p=a[5];
C.p=a[2]+2;
D.p=&(i+2);
正确答案:A
4.设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是()
正确答案:D
A.aa数组成元素的值分别是"abcd"和ABCD"
正确答案:D
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符'a'和'A'的地址
正确答案:A
5.表达式0x13&0x17的值是()
A.0x17
B.0x13
C.0xf8
D.0xec
正确答案:B
6.以下程序运行后, int func(char *str) { int num=0; while(*(str+num)!='\0') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d ",func(p)); } 如果从键盘上输入ABCDE<回车>,则输出结果为()
正确答案:B
A.8
B.7
C.6
D.5
正确答案:A
7.C语言要建立一个二进制文件应选择的打开方式是()
A.”r”
正确答案:A
B.”w”
正确答案:D
C.”rb”
正确答案:D
D.”wb”
正确答案:A
8.以下程序 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为()
正确答案:B
A.d=70
正确答案:B
B.d=80
正确答案:C
C.d=140
正确答案:D
D.d=700
正确答案:D
9.设整型变量a为5,使b不为2的表达式是()
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:1
正确答案:B
10.以下程序段 ??? char str[15]=”hello!”; printf(“%d ”,strlen(str)); 的输出结果是()
正确答案:A
A.15
B.14
C.7
D.6
11.下列函数中不能用于对文件进行输入输出操作的是()
A.fscanf()
B.printf()
C.fgetc()
D.fputs()
正确答案:B
12.下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()
A.p="abcd";
正确答案:C
正确答案:A
正确答案:D
B.a="abcd";
C.*p="abcd";
D.*a="abcd";
正确答案:A
13.若有以下调用语句, main() { … int a[50],n; … fun(n, &a[9]); } 则不正确的fun函数的首部是()
A.void fun(int m, int x[])
正确答案:D
B.void fun(int s, int h[41])
正确答案:D
C.void fun(int p, int *s)
正确答案:B
D.void fun(int n, int a)
正确答案:D
14.在C语言中,字符型数据在内存中是以什么形式存放的?()
A.原码
B.BCD码
正确答案:D
C.反码
D.ASCII码
正确答案:C
15.以下叙述中不正确的是()
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:B
16.在C程序中有如下语句char *func(int x,int y); 它是()
A.对函数func的定义。
B.对函数func的调用。
C.对函数func的原型说明。
D.不合法的。
正确答案:D
17.若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是()
A.i= *p;
B.*p=j;
C.i=&j;
D.i=* *p;
正确答案:B
21.有以下程序: main() { char a1=’M’, a2=’m’; printf("%c ", (a1, a2) ); } 以下叙述中正确的是 ()
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
正确答案:D
正确答案:D
19.有以下程序 fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun (fun(x,y), 2*z); printf("%d ", r); } 程序运行后的输出结果是()
正确答案:C
A.3
B.6
C.8
D.12
正确答案:B
20.有以下程序: main() { char a1=’M’, a2=’m’; printf("%c ", (a1, a2) ); } 以下叙述中正确的是 ()
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
东师《C程序设计》2023年春学期在线作业1[答案]多选题答案
正确答案:C
二、判断题 (共 20 道试题,共 40 分)
21.循环可以并列,但不可以嵌套。
22.程序段if (u>s) t=u; t=s;的功能是将u,s中的最大值赋给变量t。
23.a==b;的功能是将b的值赋给a。
24.’ab’是合法的字符型常量。
25.C程序是以源程序文件为单位进行编译的。
26.从循环体中退出只能使用goto语句。
27.如果一个函数不需要参数,则函数名后的括号可以省略。
28.若有宏定义#define PI 3.14i5926,则系统预编译时会报错。
正确答案:C
29.019是一个合法的整型常量。
30.二维数组中元素排列的顺序是按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。
31.允许定义无名结构,但是它只能在定义结构类型时定义一次结构变量。
32.通过return语句,函数可以带回一个或一个以上的返回值。
33.若有形参定义int a[10];则a++是合法的表达式。
34.假设有int? a[10],? *p;?? 则p=&a[0]与p=a等价。
35.getchar()函数的功能是从键盘上输入一个字符串。
36.strlen是求字符串长度的函数。
37.当C的值不为0时,(A=C)&&(B=C)能正确地将C的值赋给变量A,B。
38.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。
39.定义在main函数后的任何函数都需在main中进行函数声明。
40.一个C程序可以包含多个函数,但只能有一个main()函数。
------分隔线----------------------------
东师《C程序设计》2023年春学期在线作业1[答案]历年参考题目如下:
C程序设计18春在线作业2-0002
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.以下程序 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(“%d%d%d”,a[2],a[5],a[8]); }的输出结果是()
A.258
B.741
C.852
D.369
2.下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()
A.p="abcd";
B.a="abcd";
C.*p="abcd";
D.*a="abcd";
3.下列程序段: char s1[10]=”12345”,s2[10]=”abc”,s3[]=”67”; strcpy(s1,s2); strcat(s1,s3); puts(s1); 的运行结果是()
A.abc67
B.abc4567
C.abc 567
D.abc567
4.若有定义int a[]={10,20,30},*p=a;则当执行p++后,下列说法错误的是()
A.p向高地址移了一个字节
B.p向高地址移了两个字节
C.p向高地址移了一个存贮单元
D.p与a+1等价
5.以下程序: int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f ”,(float)a); 的输出结果是()
A.62.000000
B.62.800000
C.63.000000
D.62
6.在一个C程序中 ()
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
7.下列关于指针定义的描述,错误的是()
A.指针是一种变量,该变量用来存放某个变量的地址
B.指针变量的基类型与它所指向的变量类型一致
C.指针变量的命名规则与标识符相同
D.在定义指针时,标识符前的“*”表示后面的指针变量所指向的内容
8.不能把字符串:Hello!赋给数组b的语句是()
A.char b[10]={'H','e','l','l','o','!'};
B.char b[10];? b="Hello!";
C.char b[10];? strcpy(b,"Hello!");
D.char b[10]="Hello!";
9.设i和k都是int类型,则有关for循环语句for(i=0,k=-1;k=1;i++,k++) printf("**** ");的说明正确的是()
A.循环结束的条件不合法
B.循环体一次也不执行
C.循环体只执行一次
D.是无限循环
10.已知字母A的ASCⅡ码为十进制的65,下面程序: main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c ",ch1,ch2);} 的输出是()
A.67,D
B.B,C
C.C,D
D.不确定的值
11.设整型变量a为5,使b不为2的表达式是()
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:1
12.下面能正确进行字符串赋值操作的语句是()
A.char s[5]={"ABCDE"};
B.char s[5]={'A','B','C','D','E'};
C.char *s;s="ABCDEF";
D.char *s; scanf("%s",s);
13.若有下面的变量定义, int i,a[10],*p;以下语句中合法的是()
A.p=a+2;
B.p=a[5];
C.p=a[2]+2;
D.p=&(i+2);
14.在C语言中,要求运算数必须是整型的运算符是()
A.%
B./
C.<
D.!
15.下列程序:main( ) { int a=7,b=5; printf("%d ",b=b/a); } 的输出结果是()
A.5
B.1
C.0
D.不确定值
16.C语言中的文件类型只有()
A.索引文件和文本文件两种
B.文本文件一种
C.二进制文件一种
D.ASCII码文件和二进制文件两种
17.以下叙述中正确的是 ()
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
18.若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()
A.double myadd(double a,B) ;
B.double myadd(double,double);
C.double myadd(double b,double A) ;
D.double myadd(double x,double y);
19.为求出s=10!的值,则变量s的类型应当为()
A.int
B.unsigned
C.long
D.以上三种类型均可
20.定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句 for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()
A.1 ?5 ?9
B.1 ?4 ?7
C.3 ?5 ?7
D.3 ?6 ?9
二、 判断题 (共 20 道试题,共 40 分)
1.在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。
A.错误
B.正确
2.如果程序中要动态地生成或释放结点,则需要包含头文件malloc.h 。
A.错误
B.正确
3.若str1,str2是两个字符串,则if(str1==str2)可以比较两个字符串是否相等。
A.错误
B.正确
4.格式控制符%d和%D是一样的。
A.错误
B.正确
5.函数中的静态变量在每次函数调用时,重新赋初值。
A.错误
B.正确
6.C语言中有逻辑类型但没有集合类型。
A.错误
B.正确
7.除法运算符“/”要求两个运算对象都必须为整型。
A.错误
B.正确
8.switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。
A.错误
B.正确
9.函数的形参可以是表达式。
A.错误
B.正确
10.有以下程序段: int m=0; while(m==1) m++; while循环体执行的次数是无限次。
A.错误
B.正确
11.在一个函数内的复合语句中定义的变量在本函数范围内有效。
A.错误
B.正确
12.执行printf("%x",12345);, 输出 12345 。
A.错误
B.正确
13.参加位运算的数据可以是任何类型的数据。
A.错误
B.正确
14.int *p=10;的含义是定义了一个指向整型的指针变量,且将变量p的值赋为10。
A.错误
B.正确
15.strcpy函数的作用是连接两个字符串。
A.错误
B.正确
16.链表是一种动态数据结构,在程序运行中可动态生成或释放存贮空间。
A.错误
B.正确
17.宏定义不是C语言的语句,所以句尾没有分号。
A.错误
B.正确
18.共用体变量的各个成员所占内存单元的地址相同。
A.错误
B.正确
19.表达式1/4+2.75的值是3。
A.错误
B.正确
20.实型数据包括float和long两种类型。
A.错误
B.正确
东师《C程序设计》2023年春学期在线作业1[答案][答案]相关练习题:
灵活性是饭店产品或服务在宾客心中形成的一种“定型”感觉。( )
如果想减少实质性测试的工作量,就应在控制测试中采用较高的可接受过度信赖风险。( )
11、中线测量中,转点ZD的作用是( )。
以银行存款交纳所得税费用,所引起的变化为( )。
巫昌贞老师认为五十年代的中国有多大比例的包办婚姻?