|
18春学期《高级语言程序设计基础》在线作业1
一、单选题:
1.[单选题]设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是()。\n for(y=100;x!=y;++x,y++) printf(\****\\n\); (满分
A. 循环体只执行一次
B. 是无限循环
C. 循环体一次都不执行
D. for语句中存在语法错误
正确答案:——C——
2.[单选题]若有说明:inta[][4]={0,0};则下面不正确的叙述是()。 (满分
A. 数组a中的每个元素都可得到初值0
B. 二维数组a的第1维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D. 只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
正确答案:——D——
3.[单选题]以下对C语言中共用体类型数据的叙述正确的是()。 (满分
A. 可以对共用体变量名直接赋值
B. 一个共用体变量中可以同时存放其所有成员
C. 一个共用体变量中不能同时存放其所有成员
D. 共用体类型定义中不能出现结构体类型的成员
正确答案:——C——
4.[单选题]设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是()。 (满分
A. Z
B. A
C. a
D. z
正确答案:————
5.[单选题]若有说明:char*pc[]={\aaa\,\bbb\,\ccc\,\ddd\};,则以下叙述正确的是()。 (满分
A. *pc[0]代表的是字符串\aaa
B. *pc[0]代表的是字符'a'
C. pc[0]代表的是字符串\aaa\
D. pc[0]代表的是字符'a'
正确答案:————
6.[单选题]若有定义:inta[2][3];,则以下对a数组元素地址的正确表示为()。 (满分:)
A. *(a+1)
B. *(a[1]+2)
C. a[1]+3
D. a[0][0]
正确答案:————
7.[单选题]对以下说明语句的正确理解是()。inta[10]={6,7,8,9,10}; (满分:)
A. 将5个初值依次赋给a[1]至a[5]
B. 将5个初值依次赋给a[0]至a[4]
C. 将5个初值依次赋给a[6]至a[10]
D. 因为数组与初值的个数不相同,所以此语句不正确
正确答案:————
8.[单选题]C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是()。 (满分:)
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回实参
D. 由用户指定传递方式
正确答案:————
9.[单选题]以下为一维整型数组a的正确说明是()。 (满分:)
A. inta(10);
B. intn=10,a[n];
C. intn;scanf(\%d\,&n);inta[n];
D. #defineSIZE10;inta[SIZE];
正确答案:————
10.[单选题]系统的标准输入文件是指()。 (满分:)
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
正确答案:————
11.[单选题]若a、b、c均为int型变量,则执行以下程序段后的输出结果为()。\nb=(a=10,a+5,c=10);\nprintf(\a=%d,b=%d,c=%d\\n\,a,b,c);\nc=(a=10,b=5,a+b);printf(\a=%d,b=%d,c=%d\\n\,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
正确答案:————
12.[单选题]若执行下述程序时从键盘输入34,则输出结果是()。\n#include<stdio.h>\nmain()\n{inta,b,s;\nscanf(\%d%d\,&a,&b);\ns=a;\nif(a<b)s=b;\ns*=s;\nprintf(\%d\\n\,s*s);} (满分:)
A. 186
B. 256
C. 324
D. 400
正确答案:————
13.[单选题]若有说明:inta[10];则对数组元素的正确引用是()。 (满分:)
A. a[10]
B. a[3,5]
C. a(5)
D. a[10-10]
正确答案:————
14.[单选题]已知ch是字符型变量,则不正确的赋值语句是()。 (满分:)
A. ch=5+9;
B. ch='\\0';
C. ch='7'+'9';
D. ch='a+b';
正确答案:————
15.[单选题]如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是()。 (满分:)
A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内有效
D. 该变量为非法变量
正确答案:————
16.[单选题]在C语言中,错误的int类型的常数是()。 (满分:)
A. 32768
B. 0
C. 37
D. 0xAF
正确答案:————
17.[单选题]以下能正确定义整型变量x、y和z并为其赋初值5的语句是()。 (满分:)
A. intx=y=z=5;
B. intx,y,z=5;
C. intx=5,y=5,z=5;
D. x=5,y=5,z=5;\
正确答案:————
18.[单选题]以下正确的函数说明是()。 (满分:)
A. intfun(inta,b)
B. floatfun(inta;intb)
C. doublefun()
D. intfun(chara[][])
正确答案:————
19.[单选题]以下程序段的运行结果是()。\nchara[]=\program\,*p;\np=a;\nwhile(*p!='g') {printf(\%c\,*p-32);p++;} (满分:)
A. PROgram
B. PROGRAM
C. PRO
D. proGRAM
正确答案:————
20.[单选题]若有以下说明,并且0≤i<10,则()是对数组元素的错误引用。inta[]={1,2,3,4,5,6,7,8,9,10},*p=a,I; (满分:)
A. *(a+i)
B. a[p-a+i]
C. p+i
D. *(&a)
正确答案:————
18春学期《高级语言程序设计基础》在线作业2
一、单选题:
1.[单选题]以下能正确读入字符串的程序段是()。 (满分:)
A. char*p;scanf(\%s\,p);
B. charstr[10];scanf(\%s\,&str);
C. charstr[10],*p;p=str;scanf(\%s\,p);
D. charstr[10],*p=str;scanf(\%s\,p[1]);\
正确答案:——C——
2.[单选题]若执行下述程序时从键盘输入34,则输出结果是()。\n#include<stdio.h>\nmain()\n{inta,b,s;\nscanf(\%d%d\,&a,&b);\ns=a;\nif(a<b)s=b;\ns*=s;\nprintf(\%d\\n\,s*s);} (满分:)
A. 186
B. 256
C. 324
D. 400
正确答案:——B——
3.[单选题]系统的标准输入文件是指()。 (满分:)
A. 键盘
B. 显示器
C. 软盘
D. 硬盘
正确答案:——A——
4.[单选题]若有以下程序段:\n for(m=1;m<=100;m++)\n {scanf(\%d\,&y);\n if(y<0)\n continue;\n printf(\%3d\,m);\n }正确的描述是()。 (满分:)
A. 当y<0时整个循环结束
B. y>=0时什么也不输出
C. printf函数永远也不执行
D. 最多允许输出100个非负整数
正确答案:————
5.[单选题]已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。if(x>y)z=x;x=y;y=z; (满分:)
A. x=10,y=20,z=30
B. x=20,y=30,z=30
C. x=20,y=30,z=10
D. x=20,y=30,z=20\
正确答案:————
6.[单选题]执行以下程序段后,y的值是()。\ninta[]={1,3,5,7,9}\nintx=0,y=1,*ptr;\nptr=&a[1];\nwhile(!x){y+=*(ptr+x);x++;} (满分:)
A. 1
B. 2
C. 4
D. 24
正确答案:————
7.[单选题]下面程序的输出结果是()。main(){intx,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d",x);}} (满分:)
A. 3981
B. 4284
C. 2668
D. 2870
正确答案:————
8.[单选题]若有说明:inta[10];则对数组元素的正确引用是()。 (满分:)
A. a[10]
B. a[3,5]
C. a(5)
D. a[10-10]
正确答案:————
9.[单选题]下面对typedef的叙述中不正确的是()。 (满分:)
A. 用typedef不能定义变量名
B. 用typedef可以定义新的数据类型
C. 用typedef只是将已存在的类型用一个新的标识符来代表
D. 使用typedef有利于程序的通用和移植
正确答案:————
10.[单选题]以下为一维整型数组a的正确说明是()。 (满分:)
A. inta(10);
B. intn=10,a[n];
C. intn;scanf(\%d\,&n);inta[n];
D. #defineSIZE10;inta[SIZE];
正确答案:————
11.[单选题]已知ch是字符型变量,则不正确的赋值语句是()。 (满分:)
A. ch=5+9;
B. ch='\\0';
C. ch='7'+'9';
D. ch='a+b';
正确答案:————
12.[单选题]下面程序的输出结果为()。\nmain()\n{inta=1,b=0;\nswitch(a)\n{case1:switch(b)\n{case0:printf(\**0**\);\nbreak;\ncase1:printf(\**1**\);\nbreak;\n}\ncase2:printf(\**2**\);\nbreak;\n}} (满分:)
A. **0**
B. **0****2**
C. **0****1****2**
D. 有语法错误
正确答案:————
13.[单选题]以下程序运行后,输出结果是()。\n #defineADD(x)x+x\n main()\n {intm=1,n=2,s=3;\n s*=ADD(m+n);\n printf(\s=%d\\n\,s); } (满分:)
A. s=8
B. s=9
C. s=6
D. s=18
正确答案:————
14.[单选题]判断char型变量c1是否为大写字母的正确表达式是()。 (满分:)
A. A'<=c1<='Z'
B. (c1>='A')&(c1<='Z')
C. (c1>='A')&&(c1<='Z')
D. ('A'<=c1)AND('Z'>=c1)
正确答案:————
15.[单选题]若有定义:inta[2][3];,则以下对a数组元素地址的正确表示为()。 (满分:)
A. *(a+1)
B. *(a[1]+2)
C. a[1]+3
D. a[0][0]
正确答案:————
16.[单选题]若调用fputc函数输出字符成功,则函数的返回值是()。 (满分:)
A. 输出的字符
B. -1
C. 0
D. EOF
正确答案:————
17.[单选题]设c1、c2均是char类型变量,则以下不正确的函数调用是()。 (满分:)
A. scanf(\c1=%cc2=%c\,&c1,&c2);
B. getchar()
C. putchar(c2);
D. putchar(c1,c2)\
正确答案:————
18.[单选题]以下程序执行后a的值为()。\n main()\n {inta,m=2,k=1,*p=&k;\n a=p!=&m;\n printf(\%d\\n\,a); } (满分:)
A. -1
B. 0
C. 1
D. 2
正确答案:————
19.[单选题]C语言中字符型(char)数据在内存中的存储形式是()。 (满分:)
A. 原码
B. 补码
C. 反码
D. ASCII码
正确答案:————
20.[单选题]以下判断正确的是()。 (满分:)
A. char*s=\string\;等价于char*s;*s=\string\;
B. charstr[10]={\string\
C. char*s=\string\;等价于char*s;s=\string\;
D. charstr[10]={\string\
正确答案:————
18春学期《高级语言程序设计基础》在线作业3
一、单选题:
1.[单选题]若调用fputc函数输出字符成功,则函数的返回值是()。 (满分:)
A. 输出的字符
B. -1
C. 0
D. EOF
正确答案:——A——
2.[单选题]判断char型变量c1是否为大写字母的正确表达式是()。 (满分:)
A. A'<=c1<='Z'
B. (c1>='A')&(c1<='Z')
C. (c1>='A')&&(c1<='Z')
D. ('A'<=c1)AND('Z'>=c1)
正确答案:——C——
3.[单选题]以下能正确读入字符串的程序段是()。 (满分:)
A. char*p;scanf(\%s\,p);
B. charstr[10];scanf(\%s\,&str);
C. charstr[10],*p;p=str;scanf(\%s\,p);
D. charstr[10],*p=str;scanf(\%s\,p[1]);\
正确答案:——C——
4.[单选题]以下正确的描述是()。 (满分:)
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
正确答案:————
5.[单选题]设x,y是float型变量,则不正确的赋值语句是()。 (满分:)
A. ++x;
B. y=int(5);
C. x*=y+1;
D. x=y=0;
正确答案:————
6.[单选题]以下正确的定义语句是()。 (满分:)
A. inta[1][4]={1,2,3,4,5
B. floatx[3][]={{1
C. longb[2][3]={{1
D. doubley[][3]={0
正确答案:————
7.[单选题]设有一段程序:\nint*var,a;\na=100;var=&a;a=*var+10;执行上面程序段后a的值为()。 (满分:)
A. 120
B. 110
C. 100
D. 90
正确答案:————
8.[单选题]以下运算正确的程序段是()。 (满分:)
A. charstr1[]=\ABCDE\,str2[]=\abcdef\;strcpy(str1,str2);
B. charstr[10],*st=\abcde\;strcat(str,st);
C. char*st1=\ABCDS\,*st2=\abcde\;strcat(st1,st2);
D. charstr[10]=\\,*st=\abcde\;strcat(str,st);\
正确答案:————
9.[单选题]设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是()。\nscanf(\%4d+%3d+%2d+%1d\,&a,&b,&c,&d);printf(\%4d+%3d+%2d+%1d\,a,b,c,d); (满分:)
A. 1234123121<回车>
B. 1234123412341234<回车>
C. 1234+1234+1234+1234<回车>
D. 1234+123+12+1<回车>
正确答案:————
10.[单选题]以下正确的说法是()。 (满分:)
A. 实参和与其对应的形参各占用独立的存储单元
B. 实参和与其对应的形参共占用一个存储单元
C. 只有当实参和与其对应的形参同名时才共用存储单元
D. 形参是虚拟的,不占用存储单元
正确答案:————
11.[单选题]若有语句:chars1[]=\Shenyang\,s2[10],*s3,*s4=\NEU_soft\;则对库函数strcpy调用正确的是()。 (满分:)
A. strcpy(s1,s4);
B. strcpy(s2,s4);
C. strcpy(s3,s1);
D. strcpy(s4,s1);\
正确答案:————
12.[单选题]C语言的编译系统对宏命令的处理是()。 (满分:)
A. 在对源程序中其它成分正式编译之前进行的
B. 和C程序中的其它语句同时进行的
C. 在程序连接时进行的
D. 在程序运行时进行的
正确答案:————
13.[单选题]若有以下程序段:……inta[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a;j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}……则该程序段的功能是()。 (满分:)
A. 对数组a进行插入排序(升序)
B. 对数组a进行插入排序(降序)
C. 对数组a进行选择排序(升序)
D. 对数组a进行选择排序(降序)
正确答案:————
14.[单选题]下面程序的运行结果是()。\nmain()\n{structcmplx{intx;\ninty;\n}cm[2]={1,2,3,4};\nprintf(\%d\\n\,2*cm[0].x+\ncm[1].y/cm[0].y);} (满分:)
A. 5
B. 2
C. 3
D. 4
正确答案:————
15.[单选题]若有定义:intx[10],*p=x;,则*(p+5)表示()。 (满分:)
A. 数组元素x[5]的地址
B. 数组元素a[5]的值
C. 数组元素a[6]的地址
D. 数组元素a[6]的值
正确答案:————
16.[单选题]C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是()。 (满分:)
A. float
B. int
C. long
D. double
正确答案:————
17.[单选题]已知ch是字符型变量,则不正确的赋值语句是()。 (满分:)
A. ch=5+9;
B. ch='\\0';
C. ch='7'+'9';
D. ch='a+b';
正确答案:————
18.[单选题]若a为int类型变量,则执行以下程序段后a的值为()。\na=5;a*=a/=a++; (满分:)
A. 2
B. 1
C. 40
D. 3
正确答案:————
19.[单选题]当定义一个结构体变量时系统分配给它的内存是()。 (满分:)
A. 结构中第一个成员所需的内存量
B. 结构中最后一个成员所需的内存量
C. 结构体成员中占内存量最大者所需的容量
D. 结构体中各成员所需内存量的总和
正确答案:————
20.[单选题]有字符数组a[80]和b[80],则正确的输出语句是()。 (满分:)
A. puts(a.b);
B. printf(\%s,%s\,a[],b[]);
C. pitchar(a,b);
D. puts(a);puts(b);
正确答案:————
|
|