2021 高级语言(河南科技学院) 最新满分章节测试答案
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-03-01到2021-06-30
第一章C语言基础 第一章单元测试
1、 问题:在一个C程序中( )。A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置
选项:
A:C语言中main函数的位置不固定
B:C语言中main函数的位置不固定
C:C语言中main函数的位置不固定
D:C语言中main函数的位置不固定
答案: 【C语言中main函数的位置不固定】
2、 问题:以下选项中合法的用户标识符是( )。A) long B) _2Test C) 3Dmax D) A.dat
选项:
A:标识符不能是关键字
B:符合标符的定义
C:标示符不能用数字开头
D:标识符中不能有除下划线以外的其他特殊字符
答案: 【符合标符的定义】
3、 问题:以下选项中不属于C语言的类型的是( )。A) integer B)float C) int D) char
选项:
A:integer不是C语言中的类型关键字
B:float是C语言中的浮点类型关键字
C:int是C语言中的整型关键字
D:char是C语言中的字符类型关键字
答案: 【integer不是C语言中的类型关键字】
4、 问题:以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是( )。A) x/yz B) x(1/(yz)) C) x/y1/z D) x/y/z
选项:
A:该答案表示的是
B:符合要求
C:符合要求
D:符合要求
答案: 【该答案表示的是】
5、 问题:C语言中运算对象必须是整型的运算符是( )。A) % B) / C) = D) <=
选项:
A:%是求余运算,运算对象只能是整型数据
B:/是除法运算符,运算对象可以是实型数据
C:=是赋值运算符,运算对象可以是其它类型
D:<=是关系运算符,运算对象可以是其它类型
答案: 【%是求余运算,运算对象只能是整型数据】
6、 问题:设有 int x=11; 则表达式(x++ * 1/3) 的值是( )。 A) 3 B) 4 C) 11 D) 12
选项:
A:表达式x++ * 1/3运算过程中,先使用x的值参于运算,等同于11/3,由于运算对象均为整型,故得整数商3,当该表达式运算结束后,x的值自增为12
B:不符合运算规则
C:不符合运算规则
D:不符合运算规则
答案: 【表达式x++ * 1/3运算过程中,先使用x的值参于运算,等同于11/3,由于运算对象均为整型,故得整数商3,当该表达式运算结束后,x的值自增为12】
7、 问题:以下选项中,非法的字符常量是( )。A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xaa’
选项:
A:是转义字符
B:是转义字符
C:是字符串,不是字符
D:是转义字符
答案: 【是字符串,不是字符】
8、 问题:若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( )。A) 1.4 B) 1 C) 2.0 D) 2
选项:
A:不符合运算规则
B:a/b的结果是1,1加上0.4是1.4,由于c是整型变量,进行强制类型转换,故c的值是1
C:不符合运算规则
D:不符合运算规则
答案: 【a/b的结果是1,1加上0.4是1.4,由于c是整型变量,进行强制类型转换,故c的值是1】
9、 问题:以下程序的输出结果是( )。#include <stdio.h>void main(){ char c=’z’;printf(“%c”,c-25);}A) a B) Z C) z-25 D) y
选项:
A:字符‘z’的ASCII码值是122,122-25=97,97是字符‘a’的ASCII码值,按%c格式输出为字符’a’。
B:计算错误
C:表示错误
D:计算错误
答案: 【字符‘z’的ASCII码值是122,122-25=97,97是字符‘a’的ASCII码值,按%c格式输出为字符’a’。】
10、 问题:以下选项中,与k=n++完全等价的表达式是( )。A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
选项:
A:k=n++的含义是先将n的值赋给变量k,然后n自加1,故等价于逗号表达式k=n,n=n+1
B:不符合k=n++的含义
C:不符合k=n++的含义
D:不符合k=n++的含义
答案: 【k=n++的含义是先将n的值赋给变量k,然后n自加1,故等价于逗号表达式k=n,n=n+1 】
第二章 C语言控制语句 第二章单元测试
1、 问题:能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )。A) a>=10 or a<=0 B) a>=0||a<=10 C) a>=10 &&a<=0 D) a>=10||a<=0
选项:
A:解析错误
B:解析错误
C:解析错误
D:表达式“a≥=10或a≤0”是指a大于等于10或者小于等于0,故只有该答案正确。
答案: 【表达式“a≥=10或a≤0”是指a大于等于10或者小于等于0,故只有该答案正确。】
2、 问题:设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值应为( )。A) 0 B) 1 C)2 D) 3
选项:
A:理解错误
B:理解错误
C:表达式(m=a>b)&&(n=c>d)运算时,由于m=a>b的值是0,故&&运算不再继续运算,产生运算短路,n=c>d不再执行,故c的值不变
D:理解错误
答案: 【表达式(m=a>b)&&(n=c>d)运算时,由于m=a>b的值是0,故&&运算不再继续运算,产生运算短路,n=c>d不再执行,故c的值不变】
3、 问题:假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w<x)?w: x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是( )A) 4 B) 3 C) 2 D) 1
选项:
A:运算错误
B:运算错误
C:运算错误
D:本题主要考查条件运算的运算规则,执行m=(w<x)?w: x;以后m的值是1,再执行 m=(m<y)?m:y; m=(m<z)?m:z;以后,m的值仍然是1。
答案: 【本题主要考查条件运算的运算规则,执行m=(w<x)?w: x;以后m的值是1,再执行 m=(m<y)?m:y; m=(m<z)?m:z;以后,m的值仍然是1。】
4、 问题:若执行以下程序时从键盘上输入9,则输出结果是( )#include <stdio.h>void main(){ int n; scanf(“%d”,&n); if(n++<10) printf(“%d”,n); else printf(“%d”,n–);}A) 11 B) 10 C) 9 D) 8
选项:
A:解析错误
B: 语句if(n++<10) printf(“%d”,n);执行时,先计算表达式“n++<10”,由于n的值是9,故表达式“n++<10”值为真,此时n自加为10,故 printf(“%d”,n);语句输出10。
C:解析错误
D:解析错误
答案: 【 语句if(n++<10) printf(“%d”,n);执行时,先计算表达式“n++<10”,由于n的值是9,故表达式“n++<10”值为真,此时n自加为10,故 printf(“%d”,n);语句输出10。】
5、 问题:若有定义: float w; int a, b; 则合法的switch语句是( )。 A) switch(w) B) switch(a) { case 1.0: printf(""); { case 1 printf(""); case 2.0: printf(""); case 2 printf(""); } } C) switch(b) D) switch(a+b); { case 1: printf(""); { case 1: printf(""); default: printf(""); case 2: printf(""); case 2: printf(""); default: printf(""); } }
选项:
A:case后的常量是实数,不符合规则
B:case后面无冒号
C:符合switch语句的构造规则
D:switch后面多了分号
答案: 【符合switch语句的构造规则】
6、 问题:程序 #include <stdio.h>void main(){ int n=9;while(n>6) {n–;printf(“%d”,n);}}的输出结果是( )A)987 B) 876 C) 8765 D)9876
选项:
A:输出结果不对
B:循环体执行三次,第一次输出8,第二次输出7,第三次输出6。
C:输出结果和输出次数都不对
D:输出结果和输出次数都不对
答案: 【循环体执行三次,第一次输出8,第二次输出7,第三次输出6。】
7、 问题: 以下程序段的输出结果是( )。int x=3; do { printf("%3d,",x-=2); }while(!(–x));A)1 B) 0 C)死循环 D) 1,-2,
选项:
A:分析错误
B:分析错误
C:分析错误
D:do…while是一个先执行循环体再判断的循环语句,初始x=3,执行printf("%3d,",x-=2);输出1,此时x=1;while(!(–x))中的循环条件是先让x自减1,x=0,!(x)为真,继续执行循环体,printf("%3d,",x-=2);输出-2,再判断!(–x)的值,此时!(–x)为假,结束循环。
答案: 【do…while是一个先执行循环体再判断的循环语句,初始x=3,执行printf("%3d,",x-=2);输出1,此时x=1;while(!(–x))中的循环条件是先让x自减1,x=0,!(x)为真,继续执行循环体,printf("%3d,",x-=2);输出-2,再判断!(–x)的值,此时!(–x)为假,结束循环。】
8、 问题:设i、j、k均为int型变量,则执行完下面的for循环后,k的值为( )。 for(i=0,j=10;i<=j;i++,j–)k=i+j;A)12 B) 10 C) 11 D) 9
选项:
A:分析错误
B:循环体共执行了6次,每一次k的值均等于i+j,结果为10.
C:分析错误
D:分析错误
答案: 【循环体共执行了6次,每一次k的值均等于i+j,结果为10.】
9、 问题:以下程序的输出结果是( )。#include <stdio.h>void main() { int a, b;for(a=1, b=1; a<=100; a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d”,a);}A)101 B) 6 C) 5 D) 4
选项:
A:分析错误
B:分析错误
C:分析错误
D:注意continue和break的使用,循环体共执行了4次
答案: 【注意continue和break的使用,循环体共执行了4次】
10、 问题:以下程序的输出结果是( )。#include <stdio.h>void main(){ int a=0,i;for(i=1;i<5;i++){ switch(i){ case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5;}}printf("%d",a);}A)31 B)13 C)10 D)20
选项:
A:循环共执行了4次,由于switch语句中没有使用break语句,当i=1时执行了a+=3;a+=5;结果是a=8;当i=2时执行了a+=3;a+=5;结果是a=16;当i=3时执行了a+=2;a+=3;a+=5;结果是a=26;当i=4时执行了a+=5;结果是a=31
B:分析错误
C:分析错误
D:分析错误
答案: 【循环共执行了4次,由于switch语句中没有使用break语句,当i=1时执行了a+=3;a+=5;结果是a=8;当i=2时执行了a+=3;a+=5;结果是a=16;当i=3时执行了a+=2;a+=3;a+=5;结果是a=26;当i=4时执行了a+=5;结果是a=31】
第三章 数组 第三章单元测试
1、 问题:假定int类型变量占用两个字节,定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )A) 3 B) 6 C) 10 D) 20
选项:
A:理解错误
B:理解错误
C:理解错误
D:int x[10]={0,2,4}实际上定义一个具有10个int型元素的一维数组,每个元素占2字节,故共占20个字节
答案: 【int x[10]={0,2,4}实际上定义一个具有10个int型元素的一维数组,每个元素占2字节,故共占20个字节】
2、 问题:执行下面的程序段后,变量k中的值为( )。 int k=3, s[2]; s[0]=k; k=s[1]10; A)不定值 B) 33 C) 30 D) 10
选项:
A:int k=3,s[2];定义了一个一维数组s[2],s[2]中有两个元素s[0]和s[1],后面的语句使s[0]=3,但s[1]没有确定的值,故执行语句k=s[1]10后,k的值不确定
B:理解错误
C:理解错误
D:理解错误
答案: 【int k=3,s[2];定义了一个一维数组s[2],s[2]中有两个元素s[0]和s[1],后面的语句使s[0]=3,但s[1]没有确定的值,故执行语句k=s[1]*10后,k的值不确定】
3、 问题:若有说明“int x[3][4];”,则对x数组元素的正确引用是( )。A) x[2][4]; B) x[1,3] C) x[4-2][0] D) x[3][0]
选项:
A:x[2][4]中的第二个下标越界
B:x[1,3]不符合C语言的语法规则
C:int x[3][4]共定义了12个数组元素,分别是x[0][0],x[0][1],x[0][2],x[0][3],x[1][0],x[1][1],x[1][2],x[1][3],x[2][0],x[2][1],x[2][2],x[2][3]。x[4-2][0] 指的是x[2][0] 。
D:x[3][0]中的第一个下标越界
答案: 【int x[3][4]共定义了12个数组元素,分别是x[0][0],x[0][1],x[0][2],x[0][3],x[1][0],x[1][1],x[1][2],x[1][3],x[2][0],x[2][1],x[2][2],x[2][3]。x[4-2][0] 指的是x[2][0] 。】
4、 问题:若的以下语句,则下面( )是正确的描述。char x[]=”12345”;char y[]={‘1’,’2’,’3’,’4’,’5’};A)x数组和y数组的长度相同 B) x数组的长度大于y数组的长度C) x数组的长度小于y数组的长度 D) x数组等价于y数组
选项:
A:理解错误
B:由于字符串”12345”隐含着一个字符串结束标志’\0′,故char x[]=”12345”定义的数组x的长度是6;而char y[]={‘1’,’2’,’3’,’4’,’5’};定义的y数组长度是5。
C:理解错误
D:理解错误
答案: 【由于字符串”12345”隐含着一个字符串结束标志’\0′,故char x[]=”12345”定义的数组x的长度是6;而char y[]={‘1’,’2’,’3’,’4’,’5’};定义的y数组长度是5。】
5、 问题:程序 #include <stdio.h> void main() { int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf(“%d”,n[k]);}输出结果是( )。A) 不确定的值 B) 2 C) 1 D) 0
选项:
A:理解错误
B:执行过程分析错误
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦