20春《C语言》在线作业3答卷
- 格式:doc
- 大小:13.67 KB
- 文档页数:4
2020年3月计算机二级C语言考试真题及答案一、选择题(1)下列关于栈叙述准确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中准确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面能够作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中准确的是A)C语言程序仅能够编译执行B)C语言程序仅能够解释执行C)C语言程序既能够编译执行又能够解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才能够运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中准确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)能够是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;scanf("%d",&s);运行时,若输入1 2 34 5 0,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i='0'&&s[i]='a'&&*c,则程序的输出结果是A)hello beijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
printf("请输入两个正的整数(之间用逗号隔开):\n");scanf("%d,%d",&int_num1,&int_num2);printf("int_num1=%d,int_num2=%d\n",int_num1,int_num2);printf("The maximun common divisor is%d\n",fun(int_num1,int_num2));}3.阅读下列程序,按照要求回答下列问题#include <stdio.h>int fun(int n){int s=0,i;for(i=1;i<=n;i++)s=s+i;return s;}int main( ){int i,n;int sum=0;printf("请输入一个正整数(n≥5):\n");scanf("%d", &n);for(i=1;i<=n;i++) sum=sum+fun(i);printf("1+(1+2)+(1+2+3)+ ......+(1+2+3+...+%d)=%d\n",n,sum); }(1)上述程序中函数fun的功能是什么?答:上述程序中函数fun的功能是求n之内的自然数求和(2)依据函数fun的功能画出其流程图。
(3) 当输入n的值为5时,其输出结果是什么?答:当输入n的值为5时,其输出结果是1+(1+2)+(1+2+3)+ ......+(1+2+3+...+5)=35二、大作业要求大作业共需要完成3个大题:第1题满分30分;第2题(1)-(6)小题任选两题完成,各15分,(7)小题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。
1.设有定义:int k=3,*p=&k; 则表达式 *p的值是 ________。
A.0B.1C.2D.3【参考答案】: D2.已知数组float b[3][2];该数组行下标的范围是________。
A.1~3B.0~3C.1~2D.0~2【参考答案】: D3.设int a=5,b=6;b*=a+1;则b的值为()。
A.5B.6C.31D.36【参考答案】: D4.设int a[6]={1,2,3,4,5,6 }, *p=a;, *(p+3)的值是____.A.3B.4C.5D.6【参考答案】: B5.要将a和b中的数据进行交换,以下不正确的是____A.t=b; b=a; a=t;B.t=a; a=b; b=t;C.b=ab; a=b-a; b=b-a;D.a=b; t=a; b=t;【参考答案】: D6.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为()。
A.1B.3C.2D.4【参考答案】: B7.设有:int a[ ]={1,3,5,7,9},i=0;,下面数组元素引用错误的是( )。
A.a[i]B.a[i2]C.a[a[i]]D.a[i5]【参考答案】: D8.执行printf(“%-4d%c”,85,'A');后的结果是_____(每个□代表一个空格)。
A.85AB.85□□AC.□□85AD.□□85□□A【参考答案】: B9.有以下程序: #include<stdio.h> int f ( int n, int a[ ]) { int i,s; for ( i=0,s=0; i<=n; i++ ) s=s+a[i]; return s; } void main() { int x,a[ ]={1,3,5,7,9,11}; x=f(3, a ); printf("%d\n", x ); } 程序执行后的结果是( )A.36B.16C.9D.3【参考答案】: B10.表达式6!=7的值是______。
一、单项选择题(每题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.*B.-C.%D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C )A.7,4,4B. 8,4,4C. 7,3,4D.7,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 ]D.float a( 3, )( 4 );8.对函数的正确描述( C )A.在C语言中可以嵌套定义函数。
B.自定义函数和调用函数可以不在一个源文件中。
C.函数定义都是平行的,独立的。
D.不能嵌套调用函数。
9.若用数组名作为函数调用的实参,传给形参的是( A )A.数组的首地址 B.数组的第一个元素值C.数组的全部元素值 D.数组中元素的个数10.对于 int *p; int a[]; p=a; 的合法运算( C )A. a++;B. p=a; p++; 相当于 a++;C. ++p; 相当于 a[1];D.若p中的地址为100则p++; 运算后,则其值为10011.假设int x[] = {1,3,5,7,9,11}, *ptr; ptr = x; 以下那些是对数组元素的正确引用 ( D )A. *(ptr--) B. x[6] C. *(--ptr) D. *(ptr++) 12.执行以下语句后的结果为( A )enum weekday {sun,mon=3,tue,wed,thu};enum weekday workday;workday = wed;printf("%d\n",workday);A.5 B. 3 C.4 D.编译出错13.要定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。
北航《C语言程序设计》在线作业三单选题判断题一、单选题(共10 道试题,共40 分。
)1. 用C语言编制的源程序要变为目标程序,必须经过A. 编辑B. 编译C. 解释D. 连接-----------------选择:B2. 当执行以下程序时,( )。
#include<stdio.h> void main() { int a; while(a=5) printf("%d ",a--); }A. 循环体将执行5次B. 循环体将执行0次C. 循环体将执行无限次D. 系统会死机-----------------选择:C3. 以下说法错误的是A. do-while语句与while语句的区别仅是关键词“while”出现的位置不同B. while语句是先进行循环条件判断,后执行循环体的C. do-while是先执行循环体,后进行循环条件判断D. while、do-while和for语句的循环体都可以是空语句-----------------选择:A4. 已知:int x,a,b;下列选项中错误的if语句是______。
()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;-----------------选择:B5. 若int型数据占2个字节,则以下语句的输出为_______.int k=-1; printf(“%d,%un”,k,k);A. -1,-1B. -1,32767C. -1,32768D. -1,65535-----------------选择:D6. 简单变量做实参时,实参与其对应的形参之间的数据传递方式是( )。
A. 双向值传递方式B. 地址传递方式C. 单向值传递方式D. 用户指定传递方式-----------------选择:C7. 下面的for语句______。
for(x=0,y=0;(y!=123)&&(x<4);x++);()。
《程序设计(C语言)》2020年春季学期在线作业(三)
以下选项中可作为C语言合法整数的是()
A:10110B
B:0386
C:x2a2
D:0Xffa
答案:D
不是给数组的第一个元素赋值的语句是()
A:int a[2]={1};
B:int a[2]={1*2};
C:int a[2];scanf (“%d”,a);
D:a[1]=1;
答案:D
从变量的作用域来分,可分为全局变量和局部变量,形参是()A:局部变量
B:全局变量
C:静态变量
D:动态变量
答案:A
设有语句:int x=10; x = x -= x - x;,则执行语句后,x的值为()A:30
B:20
C:10
D:40
答案:B
在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]的值是()
A:3
B:4
C:0
D:2
答案:C
若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为?
A:3
B:2
C:1
D:0
答案:D
判断字符串的长度,应该使用的函数是()
A:strcat
B:strcmp
C:strcpy
D:strlen
答案:D
设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为()
A:strcpy(str1,str2);
B:strcpy(str1,“China”);
C:strcat(str1,“China”)。
2020年3月计算机二级C语言考试真题及答案一、选择题(1)下列关于栈叙述准确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中准确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面能够作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中准确的是A)C语言程序仅能够编译执行B)C语言程序仅能够解释执行C)C语言程序既能够编译执行又能够解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才能够运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中准确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)能够是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;scanf("%d",&s);运行时,若输入1 2 34 5 0,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i='0'&&s[i]='a'&&*c,则程序的输出结果是A)hello beijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
20春《C语言》在线作业3
试卷总分:100 得分:100
一、单选题(共20 道试题,共100 分)
1.下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。
请选择填空()#include<stdio. h> main() {1ong int num; scanf("%ld",&num); do { if( 【】) printf("%ld",num); scanf("%ld",&num); }while(!num==0);}
A.num%100/10==3
B.num/100%10==3
C.num%10/10==3
D.num/10%10==3
标准答案:B
2."文件包含"预处理语句的使用形式中,当#include后面的文件名用" ",(双引号)括起时,寻找被包含文件的方式是( )
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
标准答案:B
3.如果int a=0x3; int b=0x2; 执行运算: a<<=b; 则x的结果是
A.0
B.1
C.11
D.48
标准答案:C
4.若有如下语句: int x=3; do { printf(" %d\n",x -=2);} while(!(--x)); 则上面程序段( )
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
标准答案:B
5.若运行以下程序时,从键盘输入ADescriptor<CR>(CR表示回车),则下面程序的运行结果是( ) #include<stdio. h> main() { char c; int v0=0, v1=0, v2=0; do { switch(c=getchar()) {case 'a': case 'A': case 'e': case ' E' : case 'i': case 'I' : case 'o': case 'O': case 'u': case 'U': vl+=1; de
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=12,vl=4,v2=12
标准答案:D
6.以下程序的正确运行结果是( ) #include int func(int a,int b);main( ) { int k=4,m=1,p;。