张老师 发表于 2021-3-7 15:14:33

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

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


页: [1]
查看完整版本: 川农网院21年3月《C语言》期末机考