黄老师 发表于 2014-5-13 08:34:41

川农网院《C语言》期末机考

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