川农网院21年6月《C语言》期末机考

[复制链接]
发表于 2021-6-17 20:07:03 | 显示全部楼层 |阅读模式
《C语言》期末机考
1.[单选题] 在C语言中,合法的长整型常数是:
    A.2.1869e10
    B.0.054838743
    C.4962710
    D.0L
    答:————
2.[单选题] 设有如下程序 :<br />#include<stdio.h><br />main()<br />{ int **k, *j, i=100;<br />j=&i;?? k=&j;<br />printf("%d\n", **k);<br />}<br />上面程序的输出结果是
    A.i的地址
    B.运行错误
    C.100
    D.j的地址
    答:————
3.[单选题] 若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;<br />FILEL? CHINA? BEIJING? SHANGHAI<br />程序的输出结果是:<br />main(int argc,char *argv[])<br />{?? while(argc-->0)<br />{??? ++argv;printf("%s? ",*argv);}<br />}
    A.FILEL CHINA BEIJING
    B.CHINA BEIJING SHANGHAI
    C.C B S
    D.F C B
    答:————
4.[单选题] 设有以下宏定义:<br />#define????? N?????? 3<br />#define????? Y(n)?????? ( (N+1)*n)<br />则执行语句:z=2 * (N+Y(5+1));后,z的值为:
    A.48
    B.54
    C.42
    D.出错
    答:————
5.[单选题] 有以下函数
char *fun(char *p)
{ return p; }
该函数的返回值是: (   )
    A.形参p中存放的地址值
    B.无确切的值
    C.一个临时存储单元的地址
    D.形参p自身的地址值
    答:————
6.[单选题] 请选出以下语句的输出结果: printf("%d\n",strlen("\t\"\065\xff\n"));
    A.5.00E+00
    B.8
    C.输出项不合法,无正常输出
    D.14
    答:————
7.[单选题] 下列运算符中优先级最高的是_______。
    A.<
    B.+
    C.!=
    D.&&
    答:————
8.[单选题] 请选出以下语句的输出结果:<br />printf("%d\n",strlen("\t\"\065\xff\n"));
    A.5
    B.14
    C.8
    D.输出项不合法,无正常输出
    答:————
9.[单选题] 在宏定义 #define PI? 3.14159中,用宏名PI代替一个:
    A.常量
    B.单精度数
    C.双精度数
    D.字符串
    答:————
10.[单选题] 不能把字符串:Hello!赋给数组b的语句是:
    A.char b[10];strcpy(b,"Hello!");
    B.char b[10]={'H','e','l','l','o','!'};
    C.char b[10];b="Hello!";
    D.char b[10]="Hello!";
    答:————
11.[单选题] 能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是_______。
    A.(x>=1) || (x<=10) || (x>=200) || (x<=210)
    B.(x>=1) || (x<=10)&&(x>=200) || (x<=210)
    C.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
    D.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)
    答:————
12.[单选题] 假定所有变量均已正确说明,下列程序段运行后x的值是:<br />a=b=c=0;x=35;<br />if(!a)x--;<br />else if(b);<br />if(c)x=3;<br />else x=4;
    A.35
    B.4
    C.3
    D.34
    答:————
13.[单选题] 以下程序的输出结果是:<br />#include<br />main(? )<br />{??? char??? *p1,*p2,str[50]="ABCDEFG";<br />p1="abcd";????? p2="efgh";<br />strcpy(str+1,p2+1);??? strcpy(str+3,p1+3);<br />printf("%s",str);<br />}
    A.Abfhd
    B.Afghd
    C.AfghdEFG
    D.Afgd
    答:————
14.[单选题] 执行以下程序段时:<br />x=-1;<br />do? {x=x*x;??? }?? while(! x);
    A.循环体将执行无限次
    B.循环体将执行一次
    C.系统将提示有语法错误
    D.循环体将执行两次
    答:————
15.[单选题] 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:
    A.2.5
    B.2.0
    C.2
    D.1
    答:————
16.[单选题] 执行以下程序后,b的值为__??? ___。<br />main()<br />{ int a, b, k=4, m=6, *p1=&k, *p2=&m;<br />a=p1= =&m;<br />b=(-*p1) / (*p2)+7;<br />printf("a=%d", a);<br />printf("b=%d", b);<br />}
    A.a=1 b=-7.67
    B.a=1 b=7
    C.a=0 b=7
    D.a=0 b=-7.67
    答:————
17.[单选题] 有以下程序<br />#include<br />main()<br />{ int?? a,b,c=246;<br />a=c/100%9;<br />b=(-1)&&(-1);<br />printf("%d,%d\n",a,b);<br />}<br />输出结果是:
    A.4,3
    B.3,2
    C.2,-1
    D.2,1
    答:————
18.[单选题] 有以下函数<br />char *fun(char *p)<br />{ return p; }<br />该函数的返回值是:
    A.无确切的值
    B.形参p中存放的地址值
    C.形参p自身的地址值
    D.一个临时存储单元的地址
    答:————
19.[单选题] 设有语句:int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是(    )。
    A.*p1=p2
    B.*p1=*p2
    C.p1=*p2
    D.p1=p2
    答:————
20.[单选题] 能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是
    A.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)
    B.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
    C.(x>=1) || (x<=10) || (x>=200) || (x<=210)
    D.(x>=1) || (x<=10)&&(x>=200) || (x<=210)
    答:————
21.[多选题] 按照C语言规定的用户标识符命名规则,能出现在标识符中的是(    )
    A.大写字母
    B.数字字符
    C.连接符
    D.下划线
    答:————
22.[多选题] 以下叙述中正确的是(    )
    A.C语句必须以分号结束
    B.赋值表达式末尾加分号就构成赋值语句
    C.复合语句在语法上被看作一条语句
    D.空语句出现在任何位置都不会影响程序运行
    答:————
23.[多选题] 若有定义:int aa[8];则以下表达式中能代表数组元aa[1]的地址的是 (  )
    A.&aa[0]+1
    B.&aa[1]
    C.aa+1
    D.&aa[0]++
    答:————
24.[多选题] 以下合法的字符常量是(  )
    A.‘‘\\‘‘
    B.‘‘\018‘‘
    C.‘‘\0xcc‘‘
    D.‘‘\"‘‘
    答:————
25.[多选题] 对于下面①,②两个循环语句,正确的描述是( )。① while(1);
② for( ; ; );
    A.②是无限循环
    B.①循环一次
    C.①是无限循环
    D.②循环一次
    答:————
26.[多选题] 以下不合法的字符型常量是(    )
    A."\n"
    B.‘‘\065‘‘
    C.‘‘\081‘‘
    D.‘‘\x13‘‘
    答:————
27.[多选题] 以下能正确进行字符串赋初值的语句是(    )
    A.char str[]="good!";
    B.char str[5]="good!";
    C.char *str="good!";
    D.char str[5]={‘g‘‘,‘o‘‘,‘o‘‘,‘d‘‘};
    答:————
28.[多选题] 以下错误的函数首部定义形式是(    )
    A.double fun (int x , y) ;
    B.double fun (int x , int y) ;
    C.double fun (int x ; int y)
    D.double fun (int x , int y)
    答:————
29.[多选题] 已有定义:int i,a[10],*p; , 则不合法的赋值语句是(    )
    A.p=&a[2]+2
    B.p=100;
    C.p=a[5]
    D.p=a+2;
    答:————
30.[多选题] 已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97。以下能将变量c中的大写字母转换为对应小写字母的语句是(    )
    A.c=c-‘‘A‘‘+‘‘a‘‘
    B.c=c+32
    C.c=(‘‘A‘‘+c)%26-‘‘a‘‘
    D.c=(c-‘‘A‘‘)%26+‘‘a‘‘
    答:————
31.[多选题] 以下能对二维数组a进行正确初始化的语句是(    )
    A.int a[2][ ]={{1, 2}, {0}};
    B.int a[2][3]={0};
    C.int a[2][3]={{1, 2}, {3, 4}, {5, 6}};
    D.int a[ ][3]={1, 2, 3, 4, 5, 6};
    答:————
32.[多选题] 能把字符串:Hello!赋给数组b的语句是(    )
    A.char b[10];b="Hello!";
    B.char b[10]="Hello!";
    C.char b[10]={‘‘H‘‘,‘‘e‘‘,‘‘l‘‘,‘‘l‘‘,‘‘o‘‘,‘‘!‘‘};
    D.char b[10];strcpy(b,"Hello!");
    答:————
33.[多选题] 对于基本类型相同的两个指针变量之间,可以进行的运算是(    )
    A.=
    B.+
    C.<
    D.-
    答:————
34.[多选题] 设有以下定义和语句
char  str[20]="Program", *p;
p=str;
则以下叙述中错误的是(    )
    A.str数组长度和p所指向的字符串长度相等
    B.可以执行p++操作
    C.*p与str[0]中的值相等
    D.可以执行str++操作
    答:————
35.[多选题] 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则正确引用x数组元素的是(    )
    A.*p
    B.x[5]
    C.*(p+1)
    D.*x
    答:————
36.[多选题] 设a为整型变量,能正确表达数学关系:10<a<15 的C语言表达式是(    )
    A.(a<10)||(a>15)
    B.a>10&&a<15
    C.a==11||a==12||a==13||a==14
    D.10<a<15
    答:————
37.[多选题] 设有定义:int k=1, m=2;float f=7;,则以下选项中符合C语言语法的表达式是 (    )
    A.k=k>=k
    B.-k++
    C.k%int(f)
    D.k<>m
    答:————
38.[多选题] sizeof(double)是
    A.一种函数调用
    B.一个整型表达式
    C.sizeof是运算符
    D.一个双精度型表达式
    答:————
39.[多选题] 若要求定义具有10个int型元素的一维数组a,则以下定义语句中正确的是 (    )
    A.#define  N  10
int  a[N];
    B.int  a[5+5];
    C.int  n=10,a[n];
    D.#define  n  5
int  a [2*n];
    答:————
40.[多选题] 下列定义变量的语句中正确的是(    )
    A.float  US$;
    B.double  int_;
    C.int  _int;
    D.char  For;
    答:————
41.[填空题] Main(){换行} { int? a[5][5]; {换行} int? i,j;{换行} for (i=0;i<5;i++){换行} for ( j=0;j<5;j++){换行} if ((i==j)||(j==0)?? a[j]=1;{换行}else a[j]=a[i-1][j]+a[i-1][j-1] ;{换行}for (i=0;i<5;i++){换行} {for ( j=0;j<5;j++) {换行}printf(“%d ”,a[j]);{换行} printf(“\n”); {换行}} {换行}}{换行}
    答:————
42.[问答题] 字符数组中,用两种不用的赋初值方式,分析所占存储空间是否相同?并说明原因?? 如:char? a[]=”abc”;? 与? char a[]={‘a’,’b’,’c’};
    答:————


《C语言》期末机考答案.zip

4.39 KB, 下载次数: 2, 下载积分: 贡献 1

售价: 30 金币  [记录]

答案

快速回复 返回顶部 返回列表