C语言第二次作业答案
- 格式:ppt
- 大小:344.50 KB
- 文档页数:63
c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。
1 .C语言中规定函数的返回值的类型是由()。
A.return语句中的表达式类型所决定B.调用该函数时系统临时决定C.调用该函数时的主调用函数类型所决定D.在定义该函数时所指定的函数类型所决定参考答案:D2 .以下不能正确进行字符串赋初值的语句是____。
A.char str[5]="good“B.! char str[]=goodC.! char *str=goodD.! char str[5]={'g','o','o','d'}!参考答案:A3 .C语言中_______。
A.能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环参考答案:A4 .以下选项中,与k=n++完全等价的表达式是_____。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1参考答案:A5 .有定义语句:int b;char c[10]; ,则正确的输入语句是_____。
A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.scanf("%d%s",b,c);D.scanf("%d%s",b,&c);参考答案:B6 .若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1参考答案:D7 .若i 、j 已定义为int 型,则以下程序段中语句printf( “%d ”,i*j); 的执行次数是_____。
一、选择题〔共20分,每一小题2分〕当处理特定问题时的循环次数时,通常采用的语句是〔〕。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句完毕的,如此此switch语句容易被改写成的语句是〔〕。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是〔〕。
a. 复合b. ifc. switchd. while题目4下面循环语句执行完毕后输出的i值为〔〕。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为〔〕。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;a. n2b. (n+1)/2c. n(n-1)/2d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为〔〕。
int i=0; do i++; while(i*i<10);a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是〔〕。
a. int a[]={1,2,3};b. int a[10]={0};c. int a[];d. int a[5];在下面的二维数组定义中,语法正确的选项是〔〕。
a. int a[5][];b. int a[][5];c. int a[][3]={{1,3,5},{2}};d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};〞,如此元素a[1][1]的值为〔〕。
a. 2b. 4c. 6d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};〞,如此元素a[2][1]的值为〔〕。
国家开放大学电大《C语言程序设计》网络课形考任务2作业及答案形考任务2一、选择题(共20分,每小题2分)题目1当处理特定问题时的循环次数已知时,通常采用的语句是()。
选择一项:a. for题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
选择一项:b. if题目3for语句能够被改写成的语句是()。
选择一项:d. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}选择一项:b. n/2+1题目5在下面循环语句中,内层循环体S语句的执行总次数为()。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;选择一项:d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为()。
int i=0; do i++; while(i*i<10);选择一项:a. 4题目7在下面的一维数组定义中,有语法错误的选项是()。
c. int a[];题目8在下面的二维数组定义中,语法正确的选项是()。
选择一项:c. int a[][3]={{1,3,5},{2}};题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
选择一项:d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
选择一项:a. 0二、判断题(共20分,每小题1分。
叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。
2022c语言二级考试题及答案一、单项选择题(每小题2分,共40分)1. C语言中,用于定义变量类型为整型的关键字是()。
A. intB. floatC. doubleD. char答案:A2. 下列选项中,不是C语言标准库函数的是()。
A. printf()B. scanf()C. strcat()D. input()答案:D3. 若有以下定义和语句:```cint a=5, b=2;a=a+b;```则执行后变量a的值是()。
A. 5B. 7C. 2D. 0答案:B4. 在C语言中,以下哪个选项是正确的字符串常量?A. "123"B. '123'C. "123""D. 123答案:A5. C语言中,以下哪个选项是正确的二维数组定义?A. int a[2,3];B. int a[2][3];C. int a[2][3][];D. int a[][];答案:B6. 在C语言中,以下哪个选项是正确的函数定义?A. int fun(int a, int b);B. int fun();C. int fun(int a, int b) {}D. int fun(a, b) {}答案:C7. 下列哪个选项是C语言中的合法标识符?A. 2aB. a-bC. _a1D. int答案:C8. 若有以下定义和语句:```cint a=5, b=0;if (a=b)printf("%d", b);elseprintf("%d", a);```则执行后输出的结果是()。
A. 5B. 0C. 1D. 无输出答案:B9. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的结构体定义?A. struct student {int age;float score;};B. struct {int age;float score;} student;C. Both A and BD. None of the above答案:C11. C语言中,以下哪个选项是正确的枚举类型定义?A. enum color {red, green, blue};B. enum {red, green, blue};C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14D. #define PI = 3.14答案:A13. C语言中,以下哪个选项是正确的指针定义?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A14. 若有以下定义和语句:```cint a=10;printf("%d", ++a);```则执行后输出的结果是()。
c语言二级考试选择题及答案1. 在C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:C2. C语言中,哪个运算符用于计算两个整数的除法,并向下取整?A. %B. /C. //D. 无此运算符答案:C3. 下列哪个选项是C语言中的正确注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. 以上都是答案:D4. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. $variableD. none-of-these答案:B5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. lengthOf()答案:A6. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A7. C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. define答案:D8. 在C语言中,以下哪个选项是正确的二维数组声明方式?A. int array[2][3];B. int [2][3] array;C. int array[][];D. int 2array[3];答案:A9. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. open()C. fileopen()D. file()答案:A结束语:以上是C语言二级考试选择题及答案,希望能够帮助考生复习和准备考试。
第2次作业一、单项选择题(本大题共50分,共25小题,每小题2分)1.C++程序屮,数据的两种表现形式是()。
A.常最和变最B.常量和矢量C.变量和矢量D.矢量和标量2.C++程序中,定义函数时()。
A.可以嵌套定义B.可以不指定函数名C.不能嵌套定义D.可以不指定返冋值类型3.C++程序屮,主函数的常用返回整型数据的形式,类型名是()。
A.intB.INTC.integerD.Tnt4.C++程序中,用于实现数据输入的是()。
A.输入流对象cin和提取运算符>>B.输入流对象cin和插入运算符《C.输入流对彖cout和提取运算符>>D.输入流对象cout和插入运算符〈〈5.C++程序屮,定义引用变量时,()。
A.使用的运算符是*B.使用的运算符是()C.使用的运算符是&D.使用的运算符是[]6•下列关于函数的说法屮,不正确的是()。
A.在不同函数屮可以使用相同的名字命名变量B.形式参数是局部变量C.在函数内部定义变量的作用域在本函数中D.在一个函数内的复合语句屮定义变量的作用域也是整个函数7. C++程序的函数调用屮,使用数值参数传递吋,()oA.能够在被调函数屮通过形参修改实参B.实参和对应的形参数据类型可以不一致C.形参不能够从实参获取数值D.不能在被调函数屮通过形参修改实参&在C++程序小,注释的书写方法除了/**/这种形式外,述可以使用的形式是()OA.字符序列〉”B.\0〈字符序列>\0C.〃v字符序列〉D.\\〈字符序列〉9.C++语言中,定义一个文件流对象的正确语句形式是()。
A.void *sp;B.fstream sp;C.FILE &sp;D.filestream *sp;10.对于字符常量'B',与其对应的转义字符书写形式是()oA.B.'\x42'C.'\x41'D.'\A,11.C++程序的函数调用中,使用数组参数传递时,()。
一、选择题共20分,每小题2分当处理特定问题时的循环次数已知时,通常采用的语句是;a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是;a. forb. ifc. dod. while题目3for语句能够被改写成的语句是;a. 复合b. ifc. switchd. while题目4下面循环语句执行结束后输出的i值为;forint i=0; i<n; i++ ifi>n/2 {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为; forint i=0; i<n; i++forint j=i; j<n; j++ S;a. n2b. n+1/2c. nn-1/2d. nn+1/2题目6在下面的do循环语句中,其循环体被执行的次数为; int i=0; do i++; whileii<10;a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是;a. int a={1,2,3};b. int a10={0};c. int a;d. int a5;题目8在下面的二维数组定义中,语法正确的选项是;a. int a5;b. int a5;c. int a3={{1,3,5},{2}};d. int a10;题目9假定一个二维数组的定义语句为“int a34={{3,4},{2,8,6}};”,则元素a11的值为;a. 2b. 4c. 6d. 8题目10假定一个二维数组的定义语句为“int a34={{3,4},{2,8,6}};”,则元素a21的值为;a. 0b. 4c. 8d. 6二、判断题共20分,每小题1分;叙述正确则回答“是”,否则回答“否”题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用; 对题目12在switch语句中,每个case和冒号之间的表达式只能是常量; 对题目13为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句; 对题目14在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置;错题目15在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口; 错题目16假定一维数组的定义为“char a8;”,则该数组所含元素的个数大于8; 错题目17假定二维数组的定义为“int a35;”,则该数组所占存储空间的字节数为60; 对题目18假定二维数组的定义为“char aMN;”,则该数组所含元素的个数为M+N;错题目19假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在0~M-1之间; 对题目20假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在0~N之间;错题目21存储一个空字符串需要占用0个字节的存储空间; 错题目22使用“typedef char BB1050;”语句定义标识符BB为含有10行50列的二维字符数组类型; 对题目23存储字符'a'需要占用1个字节的存储空间; 对题目24空字符串的长度为1; 错题目25字符串"a:\\xxk\\数据"的长度为13; 错题目26为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1; 对题目27strcmp函数用于进行两个字符串之间的比较; 对题目28strcpy函数用于把一个字符串拷贝到另一个字符数组空间中; 对题目29一个二维字符数组a1020能够最多存储9个字符串; 错题目30一个二维字符数组a1020能够存储的每个字符串的长度不超过20; 错三、填空题:写出下列每个程序运行后的输出结果共40分,每小题4分题目31include<stdio.h>void main{int x=5;switch2x-3 {case 4: printf"%d ",x;case 7: printf"%d ",2x+1;case 10: printf"%d ",3x-1; break;default: printf"%s","default\n";}}11 14题目32include<stdio.h>void main {int i,s=0;fori=1;i<=5;i++ s+=ii;printf"s=%d\n",s;}s=55题目33include<stdio.h>void main {int i, s1=0, s2=0;fori=0;i<10;i++ifi%2 s1+=i; else s2+=i;printf"%d %d\n",s1,s2;}25 20题目34include<stdio.h>void main {int n=6,y=1;whilen y=n--;printf"y=%d\n",y;}y=720题目35include<stdio.h>const int M=20;void main{int i,c2,c3,c5;c2=c3=c5=0;fori=1; i<=M; i++ {ifi%2==0 c2++;ifi%3==0 c3++;ifi%5==0 c5++;}printf"%d %d %d\n",c2,c3,c5;}10 6 4题目36include<stdio.h>void main{int i,s;fori=1,s=0;i<10;i++ {ifi%3==0 continue;s+=i;}printf"%d\n",s;}27题目37include<stdio.h>void main {int a8={12,39,26,41,55,63,72,40};int i, i1=0, i2=0;fori=0;i<8;i++ifai%2==1 i1++; else i2++;printf"%d %d\n",i1,i2;}4 4题目38include<stdio.h>int a10={4,5,6,15,20,13,12,7,8,9};void main{int i,s4=0;fori=0; i<10; i++ {switchai%4 {case 0: s0+=ai;break;case 1: s1+=ai;break;case 2: s2+=ai;break;default: s3+=ai;break;}}fori=0; i<4; i++ printf"%d ",si;}44 27 6 22题目39include<stdio.h>void main {char a="abcdbfbgacd";int i1=0, i2=0, i=0;whileai {ifai=='a' i1++;ifai=='b' i2++;i++;}printf"%d %d %d\n",i1,i2,i;}2 3 11题目40include<stdio.h>void main {int a34={{1,2,7,8},{5,6,10,6},{9,12,3,4}};int m=a00;int i,j;fori=0; i<3; i++forj=0; j<4; j++ifaij>m m=aij;printf"%d\n",m;}12四、简答题:根据下列每个题目要求编写程序共20分,每小题4分题目41编写一个函数,函数头格式为“double Meandouble aMN,int m,int n”,要求返回二维数组amn 中所有元素的平均值,假定在计算过程中采用变量v存放平均值;double Meandouble aMN,int m,int n{int i,j;double v=0.0;fori=0; i<m; i++forj=0; j<n; j++ v+=aij;v/=mn;return v;}题目42编写一个递归函数“int FFint a, int n”,求出数组a中所有n个元素之积并返回;include<stdio.h>int FFint a , int n{int mul=1;ifn==1mul=a0;else mul=an-1FFa,n-1;return mul;}/void main{int a6={1,2,3,4,5,6};printf"%d\n",FFa,6;}/题目43编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+1/n>5的最小n 值;include<stdio.h>void main{int i=0; double s=0; //或int i=1; double s=1;whiles<5 s+=double1/++i;printf"n=%d\n",i;}题目44编写一个主函数,求出满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程;include<stdio.h>void main{int i=0; //用i作为依次取值偶数的变量int s=0; //用s作为累加变量do {i+=2;s+=ii;}whiles<1000;printf"n=%d\n",i-2;}题目45编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入;include<stdio.h>void main{int i; //用i作为计数循环变量int s=0; //用s作为累加变量int n;printf"输入一个自然数: ";scanf"%d",&n;fori=1; i<=n; i++ s+=ii;printf"s=%d\n",s;}。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
中国石油大学北京网络学院
C语言程序设计-第二次在线作业
参考答案
1.(
2.5分)以下关于数组的描述正确的是()。
A、A. 数组的大小是固定的,但可以有不同的类型的数组元素。
B、B. 数组的大小是可变的,但所有数组元素的类型必须相同。
C、C. 数组的大小是固定的,但所有数组元素的类型必须相同。
D、D. 数组的大小是可变的,但可以有不同的类型的数组元素。
我的答案:C 此题得分:2.5分
2.(2.5分)在定义int a[10];之后,对a的引用正确的是()。
A、A.a[10]
B、B.a[6.3]
C、C.a(6)
D、D.a[10-10]
我的答案:D 此题得分:2.5分
3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。
A、A. int n=5,b[n][n];
B、B. int a[1][2]={{1},{3}};
C、C. int c[2][]={{1,2},{3,4}}
D、D. int a[3][2]={{1,2},{3,4}}。