《南阳理工学院C语言考试系统》样题
选择题
1、有输入语句:scanf(\a=%d,b=%d,c=%d\,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是( )。 A)132<回车> B)1,3,2<回车>
C)a=1 b=3 c=2<回车> D)a=1,b=3,c=2<回车>
2,以下能正确的定义整形变量a,b和c并为其赋初值5的语句是:
(A)int a=b=c=5; (B)int a,b,c=5; (C)a=5,b=5,c=5; (D)a=b=c=5;
3,已知ch是字符型变量,下面不正确的赋值语句是:
(A)ch=’a+b’; (B)ch=’\0’; (C)ch=’7’+’9’; (D)ch=5+9;
4,若有以下定义int a,b;float x; 则不正确的语句是: A)a=1,b=2; B)b++; C)a=b=5; D)b=int x;
5,对以下说明语句的正确理解是:
int a[10]={6,7,8,9,10};
A)将五个初值依次赋给a[1]-a[5]; B)将五个初值依次赋给a[0]-a[4]; C)将五个初值依次赋给a[6]-a[10];
D)因为数组的长度与初值的个数不相同,所以此语句不正确。
6,下面程序段的运行结果是:
char c[]=”\t\r\n\\\0will\n”;
printf(”%d”,strlen(c));
A)4 B)3 C)5
D)字符串中有非法字符,输出值不确定.
7,判断字符串a和b是否相等,应当使用:
A)if(a==b) B)if(!(a!=b))
C)if(!strcmp(a,b)) D)if(strcpy(a,b))\
8,以下正确的函数定义形式是:
A)double fun[int x,int y] B)double fun(int x;int y) C)double fun(int x,y);
D)double fun(int x,int y);\
9,下面函数调用语句含有实参的个数为: func((exp1,exp2),
(exp3,exp4,exp5));
A)1 B)2 C)4 D)5
10,以下有关宏替换的叙述不正确的是:
A)宏替换不占用运行时间 B)宏名无类型
C)宏替换只是字符替换 D)宏名必须用大写字母表示
11,若w=1,x=2,y=3,z=4,则条件表达式 w<x?w:y<z?y:z的值是:
A)4 B)3 C)2 D)1
12,为了避免在嵌套的条件语句IF-ELSE产生二义性, C语言规定:ELSE子句中总是与___配对使用.
A)缩排位置相同的IF B)其之前最近的IF C)其之后最近的IF D)同一行上的IF
13,以下程序的运行结果是:
main() {
int m=5; if(m++>5)
printf("%d\n",m);
else printf("%d\n",m--); } A)4 B)5 C)6 D)7
14,语句WHILE(!E);中的表达式!E等价于:
A)E==0 B)E!=0 C)E!=1 D)E==1
15,下面程序段运行结果是:
int n=0;
while(n++<=2); printf("%d",n);
A)2 B)3 C)4
D)有语法错误
16,若有如下语句: int x=3; do
{printf("%d\n",x-=2);} while(!(--x)); 则上面程序段输出的结果是:
A)1
B)1和-2 C)3T0 D)死循环
17,执行语句for(i=1;i++<4;);后变量i的值是:
A)3 B)4 C)5 D)不定
18,若二维数组a有m列,则在a[i][j]前的元素个数为:
A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1
19,以下正确的定义语句是:
A)int a[1][4]={1,2,3,4,5}; B)float x[3][]=
{{1},{2},{3}}; C)double y[][3]={0}; D)long b[2][3]= {{1},{1,2},{1,2,3}};
20,判断字符串S1是否大于字符串S2,应当使用:
A)if(S1>S2)
B)if(strcmp(S1,S2)); C)if(strcmp(S2,S1)>0); D)if(strcmp(S1,S2)>0);
改错题
/*下面程序中函数fun的功能是:根据整型形参m,计算如 下公式的值:y=1+1/2!+1/3!+1/4!+…+1/m! 例如:若m=6,则应输出:1.718056。
请改正函数fun中的两处错误,使它能得出正确的结果。注 意:不要改动main函数,不得增行或删行,也不得更改程序 的结构!*/
#include \#include \double fun(int m) {
/******* found ****************/ int y=1,t=1; int i;
for(i=2;i<=m;i++) {
t=t*1/i;y+=t; }
/********* found **************/ return(0); }
/************* 注意:以下部分不得作任何修改 **********/ main() { int n; clrscr();
printf(\scanf(\
printf(\}
编程题
/* 函数fun的功能是:把a数组中的n个数的平方值与b数组中的 逆序的n个数的平方值一一对应相加;结果存在c数组中。 例如:当a数组中的值是:1,3,5,7,8 b数组中的值是:2,3,4,5,8
调用该函数后,c 存放的数据是:65,34,41,58,68 注意:部分源程序存在文件PRODEV.C中。请不要改动主函数main() 和其它函数中的任何内容。仅在函数fun的花括号中填入你编 写的若干语句。 */
#include
void fun(int a[], int b[], int c[], int n)
{ }
/******************* 以下部分不得做任何修改 ******************/ main() {
int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100]; clrscr();
fun(a, b, c, 5);
printf(\
for (i=0; i<5; i++) printf(\ printf(\}
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证《南阳理工学院C语言考试系统》样题 全文阅读和word下载服务。
相关推荐: