南京家具网站建设,人力资源外包平台,智能建造师报名入口官网,wordpress athena 模版一、单选 共40题 #xff08;共计40分#xff09;
第1题 #xff08;1.0分#xff09; 题号:6923 难度:较易 第1章
以下叙述中正确的是
A:C语言规定必须用main作为主函数名,程序将从此开始执行
B:可以在程序中由用户指定任意一个函数作为主函数…一、单选 共40题 共计40分
第1题 1.0分 题号:6923 难度:较易 第1章
以下叙述中正确的是
A:C语言规定必须用main作为主函数名,程序将从此开始执行
B:可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C:C语言程序将从源程序中第一个函数开始执行
D:main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等 答案A 第2题 1.0分 题号:6949 难度:较易 第2章
有以下程序
#include stdio.h
main()
{ int a1, b2, c3, x; x (a^b)c; printf(%d\n,x);
} 程序的运行结果是 A:3
B:1
C:2
D:0 答案A 第3题 1.0分 题号:6555 难度:易 第2章
设有定义:int k3,i2; 以下选项中,变量k的值与其他三个不同的是(). A:k-i; B:k--i; C:ki-1; D:ki--; 答案D 第4题 1.0分 题号:6169 难度:中 第2章
以下是正确C语言实型常量的是(). A:.8e8. B:e8 C:8e.8 D:8.8e8 答案D 第5题 1.0分 题号:6957 难度:较易 第2章
有以下定义语句,编译时会出现编译错误的是
A:char a\x2d;
B:char a\n;
C:char aa;
D:char aaa; 答案D 第6题 1.0分 题号:6232 难度:中 第3章
若有定义:double a; char d; float b;
若想把1.2输入给变量a,字符k输入给变量d,3.4输入给变量b,程序运行时键盘输入: 1.2 k 3.4 回车
则以下正确的读入语句是(). A:scanf(%lf%c%f, a, d, b); B:scanf(%lf %c %f, a, d, b); C:scanf(%f %c %f, a, d, b); D:scanf(%f%c%f, a, d, b); 答案B 第7题 1.0分 题号:6733 难度:中 第3章
以下能正确表述算式 sin(2πr30°)的C语言表达式是
A:sin(2*3.14*r3.14*30/180.0)
B:sin(2*π*r 30 )
C:sin(2*3.14*r 30 )
D:sin(2*3.14*r30*3.14/360.0) 答案A 第8题 1.0分 题号:7049 难度:较易 第3章
有以下程序段 int i, n; for( i0; i8; i ) { n rand( ) % 5; switch (n) { case 1: case 3: printf(%d \n, n); break; case 2: case 4: printf(%d \n, n); continue; case 0: exit(0); } printf(%d \n,n); } 以下关于程序段执行情况的叙述,正确的是
A:for循环语句固定执行8次
B:当产生的随机数n为4时结束循环操作
C:当产生的随机数n为1和2时不做任何操作
D:当产生的随机数n为0时结束程序运行 答案D 第9题 1.0分 题号:6348 难度:易 第4章
对于if(表达式)语句,以下叙述正确的是 A:表达式不能是变量 B:表达式的值只能是整数值 C:表达式可以是常量 D:表达式中不可以出现字符型变量的比较 答案C 第10题 1.0分 题号:6743 难度:中 第4章
有以下程序段 scanf(%d%d%d,a,b,c); if(ab) ab; if(ac) ac; printf(%d\n,a);
该程序段的功能是
A:输出a、b、c中值相等的数值 B:输出a、b、c中的最大值
C:输出a、b、c中的最小值
D:输出a的原始值 答案D 第11题 1.0分 题号:6388 难度:中 第4章
有以下程序:
#include stdio.h
main()
{int x1, y0, a0, b0; switch (x) {case 1:
switch(y)
{case 0: a; break; case 1: b; break;
} case 2: a; b; break; case 3: a; b;
}
printf(a%d, b%d\n, a, b);
}
程序的运行结果是().
A:a2,b2
B:a2,b1
C:a1,b1
D:a1,b0 答案B 第12题 1.0分 题号:6461 难度:易 第4章
对于 if(表达式) 语句,以下叙述正确的是( ). A:表达式可以是常量 B:表达式的值只能是整数值 C:表达式不能是变量 D:表达式中不可以出现字符 答案A 第13题 1.0分 题号:7289 难度:中 第5章
有以下程序 #include stdio.h main() { int a, b; for( a1,b1; a100; a ) { if(b20) break; if(b % 31) { bb3; continue; } bb-5; } printf(%d\n,a); } 程序的输出结果是
A:10
B:9
C:8
D:7 答案C 第14题 1.0分 题号:6931 难度:中 第5章
有以下程序 #include stdio.h main() { int k5; while(--k) printf(%d,k - 3); printf(\n); } 执行后的输出结果是
A:1
B:2
C:4
D:死循环 答案A 第15题 1.0分 题号:6846 难度:较难 第5章
有以下程序:
#include stdio.h
main()
{int i,j,m1;
for(i1;i3;i)
{for(j3;j0;j-- )
{ if(i*j3) break;
m*i*j; }
}
printf(m%d\n,m);
}
程序运行后的输出结果是().
A:m4
B:m2
C:m6
D:m5 答案C 第16题 1.0分 题号:6737 难度:中 第5章
以下程序段中,循环次数不超过10的是
A:int i10; do{ ii1;} while(i0);
B:int i5; do{ i1;} while(i0);
C:int i1; do{ i2;} while(i!10);
D:int i6; do{ i-2;} while(i!1); 答案A 第17题 1.0分 题号:7224 难度:中 第5章
以下叙述中正确的是
A:continue语句使得整个循环终止
B:break语句不能用于提前结束for语句的本层循环
C:使用break语句可以使流程跳出switch语句体
D:在for语句中,continue与break的效果是一样的,可以互换 答案C 第18题 1.0分 题号:7109 难度:中 第5章
若有以下程序 #include stdio.h main() { int a6, b0, c0; for ( ;a; ) { b a; a - c; } printf(%d,%d,%d\n, a,b,c); } 则程序的输出结果是
A:1,14,3
B:0,14,3
C:0,18,3
D:0,14,6 答案B 第19题 1.0分 题号:6250 难度:中 第6章
有以下程序
#include stdio.h
#include string.h
main()
{ char s[5][8]{red,yellow,green,blue,white}; int i,j; char t[8]; for(i0; i4; i) for(ji1;j5; j) if(strlen(s[i])strlen(s[j])) { strcpy(t,s[i]); strcpy(s[i],s[j]); strcpy(s[j],t); } printf(%s\n,s[0]);
}
程序的运行结果是 A:red B:white C:yellow D:green 答案C 第20题 1.0分 题号:6879 难度:较易 第6章
以下定义数组的语句中错误的是().
A:int num[][3]{ {1,2},3,4,5,6 };
B:int num[2][4]{ {1,2},{3,4},{5,6} };
C:int num[]{ 1,2,3,4,5,6 };
D:int num[][4]{1,2,3,4,5,6}; 答案B 第21题 1.0分 题号:6086 难度:较难 第6章
有以下程序
#include stdio.h
main( )
{ int a[4],p,x,i; for( i3;i0;i-- ) a[i-1]i*2-1; scanf(%d,x); i0; while( a[i]x ) i; pi; for( i3;ip;i-- ) a[i]a[i-1]; a[p]x; for( i0;i4;i ) printf(%3d,a[i]); printf(\n);
} 执行时输入:2回车,则输出结果是 A:1 2 3 4 B:5 4 3 1 C:1 2 3 5 D:3 2 1 4 答案C 第22题 1.0分 题号:6243 难度:中 第6章
下面说法正确的是(). A:方括号数组说明符中不能使用带有运算符的表达式 B:char c1 A, c2, *c3; 是合法的变量定义语句 C:数组下标的下限在定义数组时设置,可以设定为负数 D:对于数组元素是浮点值的数组float array[3],array[1.5]是合法的 答案B 第23题 1.0分 题号:6089 难度:较易 第6章
语句printf(%d\n, strlen(\t\\\\n\\065\08AB));的输出结果是 A:6 B:7 C:8 D:9 答案A 第24题 1.0分 题号:6444 难度:较难 第6章
有以下程序 #include stdio.h main() { char s[][6]{abcd,abc,ab}; int i; for( i0;i3;i ) puts(s[i]); } 执行后的输出结果是( ). A:abcd
abc ab B:a
a
a C:abcd
bcd
cd D:a
b
c 答案A 第25题 1.0分 题号:6539 难度:易 第7章
下面关于编译预处理的命令行中,正确的是(). A:#define int INT B:##define eps 0.001 C:##DEFINE TRUE D:#define E 2.88 答案D 第26题 1.0分 题号:6992 难度:较难 第7章
设有以下函数: void fun(int n,char *s) { …… } 则下面对函数指针的定义和赋值均正确的是
A:void (*pf)(int,char); pffun;
B:void *pf(); pffun;
C:void *pf(); *pffun;
D:void (*pf)(int, char*); pffun; 答案D 第27题 1.0分 题号:6188 难度:较难 第7章
有下列程序
#include stdio.h
int a 1;
int func(int a)
{ int b 1; static int c 1; a; b; c; return a b c;
}
main( )
{ int k, a 4; for (k0; k3; k) printf(%d,, func(a));
}
程序执行后的输出结果是(). A:9,9,9, B:6,8,10, C:6,7,8, D:9,10,11, 答案D 第28题 1.0分 题号:6220 难度:较难 第7章
有以下程序 #include stdio.h int a[5]{ 7,2,9,10,3 }; void st(int *,int); void main() { int i; st(a,5); for(i0;i5;i) printf(%4d,a[i]); printf(\n); } void st(int *b,int n) { int i,m,t; if(n1) return; m0; for(i1;in;i) if(b[i]b[m]) mi; tb[0];b[0]b[m];b[m]t; b;n--; st(b,n); }
程序的运行结果是(). A:2 3 7 9 10 B:10 9 7 3 2 C:2 10 3 9 7 D:2 7 3 9 10 答案A 第29题 1.0分 题号:6441 难度:易 第7章
若有函数定义如下 int fun(int x,int y) { return x-y; } 则以下涉及上述函数的说明语句错误的( ). A:int fun( int x,y ); B:int fun( int ,int ); C:int fun( int a,int b ); D:int i,fun(int x,int y); 答案A 第30题 1.0分 题号:6726 难度:中 第7章
有以下程序 #include stdio.h int fun(int n) { static int t1; int i1; for( ; in; i) t*i; return t; } main() { int t1,i; for(i2;i4; i) tfun(i); printf(%d\n,t); }
程序的运行结果是
A:8 B:11
C:15 D:4 答案C 第31题 1.0分 题号:6578 难度:中 第8章
有以下程序(其中的strstr()函数头部格式为:char *strstr(char *p1, char *p2) 确定
p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)
#include stdio.h
#include string.h
char *ayou;
char *bWelcome you to Beijing!;
main()
{ char *p; p strstr(b, a) strlen(a) 1; printf(%s\n, p);
}
程序的运行结果是
A:to Beijing!
B:you to Beijing!
C:Welcome you to Beijing!
D:Beijing! 答案A 第32题 1.0分 题号:5947 难度:较难 第8章
有以下程序 #include stdio.h
#include stdlib.h void fun(int **s, int x[2][3])
{ **s*(x[1]1); } main()
{ int a[2][3] {1,2,3,4,5,6}, *p; p (int*)malloc(sizeof(int)); fun(p,a); printf(%d\n,*p);
} 程序的运行结果是 A:6 B:2 C:5 D:3 答案C 第33题 1.0分 题号:6357 难度:易 第8章
以下叙述正确的是 A:char c1, *c2, *c3[10]; 是合法的变量定义语句 B:数组说明符的一对方括号中不能使用表达式 C:数组元素下标可以是非整数 D:若有定义 char array[4]; 则语句 printf(%c, array[3]);是合法的 答案A 第34题 1.0分 题号:6912 难度:较易 第8章
设有定义: char *c; 以下选项中能够使c正确指向一个字符串的是 A:char str[ ]string; cstr;
B:scanf(%s,c);
C:cgetchar( );
D:*cstring; 答案A 第35题 1.0分 题号:6019 难度:较易 第8章
以下关于指针的叙述,错误的是 A:两个基类型相同的指针变量不能指向同一个对象 B:可以通过对指针变量加上或减去一个整数来移动指针 C:在关系表达式中可以对两个指针变量进行比较 D:一个指针变量可以通过不同的方式获得一个确定的地址值 答案A 第36题 1.0分 题号:6567 难度:中 第8章
对于函数声明 void fun(float array[], int *ptr);
以下叙述中正确的是(). A:调用函数时,array按值传送地址,ptr是按地址传送数值 B:函数参数 array 是数组名,不是指针变量,ptr 是指针变量 C:调用函数时,调用处的实参数组的所有值都会自动复制到array数组中 D:函数参数 array, ptr 都是指针变量 答案D 第37题 1.0分 题号:6346 难度:中 第9章
有下列程序
#include stdio.h
#include string.h
typedef struct stu { char name[9]; char gender; int score;
} STU;
void f(STU *a)
{ STU c{Sun, f, 90},*dc; a d; strcpy(a-name,c.name);
a-gender c.gender; a-score c.score;
printf(%s,%c,%d,, a-name, a-gender, a-score);
}
main( )
{ STU a{Zhao, m, 85}; f(a); printf(%s,%c,%d, a.name, a.gender, a.score);
}
程序执行后的输出结果是(). A:Zhao,m,85,Sun,f,90 B:Sun,f,90,Sun,f,90 C:Sun,f,90,Zhao,m,85 D:Zhao,m,85,Zhao,m,85 答案C 第38题 1.0分 题号:6093 难度:较易 第9章
设有定义: struct complex { int real,unreal;} data1{1,8},data2; 则以下赋值语句中错误的是 A:data2(2,6); B:data2data1; C:data2.realdata1.real; D:data2.realdata1.unreal; 答案A 第39题 1.0分 题号:7033 难度:较易 第9章
以下结构体类型说明和变量定义中正确的是 A:struct REC ;
{ int n; char c; };
REC t1,t2;
B:typedef struct
{ int n; char c; } REC;
REC t1,t2;
C:typedef struct REC;
{ int n0; char cA; } t1,t2;
D:struct
{ int n; char c; } REC;
REC t1,t2; 答案B 第40题 1.0分 题号:7272 难度:中 第10章
以下叙述中正确的是
A:函数的返回值不能是结构体类型
B:在调用函数时,可以将结构体变量作为实参传给函数
C:函数的返回值不能是结构体指针类型
D:结构体数组不能作为参数传给函数 答案B 二、程序填空 共1题 共计18分
第1题 18.0分 题号:619 难度:中 第1章
/*-------------------------------------------------------
【程序填空】
--------------------------------------------------------- 功能 打印以下图案
********* ******* ***** *** * -------------------------------------------------------*/
#includestdio.h
void main()
{ int k0 , j0 ,i0;
/***********SPACE***********/ for( i0 ; i5;i【?】 ) { printf(\n);
/***********SPACE***********/ for( j1 ; j【?】2*i ; j )
/***********SPACE***********/ 【?】(%c, ); for( k0 ; k 9-2*i ; k )
/***********SPACE***********/ printf(%【?】,*); } printf(\n);
} 答案 (答案1) 或
i1
或
1i
或
1 (答案2) (答案3)
printf (答案4)
c 三、程序改错 共1题 共计18分
第1题 18.0分 题号:393 难度:难 第20章
/*-------------------------------------------------------
【程序改错】
--------------------------------------------------------- 题目void add(char a[],char b[],char c[])函数将由0,1 组成的字符串a,b按二进制数加法规则相加和仍以0,1 组成的字符串形式保存到字符串c中。 例如字符串a为1100,字符串b为111,调用add函数后字符串c 为10011。 请改正程序中的错误使它能得出正确的结果。 ---------------------------------------------------------
注意不得增行或删行也不得更改程序的结构。
--------------------------------------------------------*/ #include stdio.h
#include string.h
void reverse(char s[])
{ int i,len; char t;
/*******************FOUND*******************/ lenstrlen(s)-1; for(i0;ilen/2;i) { ts[i]; s[i]s[len-i-1]; s[len-i-1]t; }
}
void add(char a[],char b[],char c[])
{ int i,j,k,t,flag; istrlen(a)-1; jstrlen(b)-1; kflag0; while(i0||j0) { if(i0) tb[j]-48flag; else if(j0) ta[i]-48flag; else ta[i]-48b[j]-48flag;
/*******************FOUND*******************/ c[k]t/2; k; if(t1) flag1; i--; j--; }
/*******************FOUND*******************/ if(flag0) c[k]1; c[k]\0; reverse(c);
}
int main()
{ char a[50],b[50],c[51]; printf(Input a(binary):\n); scanf(%s,a); printf(Input b(binary):\n); scanf(%s,b); add(a,b,c); printf(After adding ab%s\n,c); return 0;
} 答案 (答案1)
lenstrlen(s); (答案2)
c[k]t%248;
或
c[k]48t%2;
或
c[k]t%20;
或
c[k]0t%2; (答案3)
if(flag)
或
if(flag1)
或
if(flag!0)
或
if(1flag)
或
if(0!flag) 四、程序设计 共1题 共计24分
第1题 24.0分 题号:786 难度:中 第1章
/*----------------------------------------------------------------------------
【程序设计】
------------------------------------------------------------------------------ 题目请编写函数fun其功能是找出2×M整型二维数组中最大元素的值并将此值 返回调用函数。 注意请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入 你编写的若干语句。 --------------------------------------------------------------------------*/ #include stdio.h
#include stdlib.h
#define M 4 int fun (int a[][M])
{
/**********Program**********/ /********** End **********/
} main( )
{ int arr[2][M]{5,8,3,45,76,-4,12,43} ; printf(max %d\n, fun(arr)) ; system(pause);
} 答案 int i,j,maxa[0][0];
for(i0;i2;i)
for(j0;jM;j)
if(maxa[i][j])
maxa[i][j];
return max;