的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #includeconio.h void proc(char*str) int i=0; char*p=str; while( 1) if(*p=“a“ 2; p+; stri= 3
计算机类职业资格福建省二级C语言-4 1及答案解析Tag内容描述:
1、的横线上填入所编写的若干表达式或语句。
试题程序: #includestdlib.h #includestdio.h #includeconio.h void proc(char*str) int i=0; char*p=str; while( 1) if(*p=“a“ 2; p+; stri= 3; void main() char str80; system(“CLS“); printf(“/nEnter a string: “); gets(str); printf(“/n/nThe string is: %s/n“, str); proc(str); printf(“/n/nThe string of changing is: %s/n“, str); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.下列给定函数中,函数 proc()的功能是:统计字符串中各元音字母(即 A,E,I,O,U)的个数。
注意:字母不分大小写。
例如,输入 There are two books,则应输出是 1 2 0 3 。
2、源程序存放在 下的 BLANK1. C 中。
不得增行或删行,也不得更改程序的结构! #include stdio. h #include string. h #define N 5 #define M 10 int fun (char (*ss) M, int k) int i, j=0, len; /*found*/ for(i=0; i _ 1_ ; i+) len=strlen (ssi); /*found*/ if (1en= _ 2_ ) /*found*/ strcpy(ssj+, _ 3_ ); return j; main( ) char xN M=“Beijing“, “Shanghai“, “Tianjing“, “Nanjing“, “Wuhan“); int i, f; printf(“/nThe original string/n/n“); for(i=0; iN; i+)puts(x。
3、在 main()函数的横线上填入所编写出的若干表达式或语句。
试题程序: #includestdlib.h #includestdio.h #includeconio.h #define M 100 void main() int numM; int i=-1; int max=0; system(“CLS“); printf(“/nInput inleger number:/n“); do i+; printf(“num%d=“,i); scanf(“%d“, 1); max= 2numi:max; while( 3); printf(“max=%d/n“,max); (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定的程序中,函数 proc()的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。
请修改函数 proc()中的错误,使它能得出正确的结果。
注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。
试题程序: #includestdio.。
4、改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。
试题程序: #includestdlib.h #includestdio.h #define N 80 void proc(char str,int n) int i,j; char ch; for(i=0;in;i+) for(j= 1;jn;j+) if(stristrj) ch=strj; 2; stri=ch; void main() int i=0,strlen=0; char strN; system(“CLS“); printf(“/nInput a string:/n“); gets(str); while(stri!=“/0“) strlen+; i+; proc(str,strlen); printf(“/n*display string*/n“); puts(str); (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 proc。
5、的若干表达式或语句。
试题程序: #includestdio.h int fun(int a, int b, int c) int t; t=(ab)?(bc? b:(ac? c: 1); (ac)? 2: (hc)? c: 3); return t; void main() int a1=3, a2=5, a3=4, r; r=fun(a1, a2, a3); printf(“/nThe middle number is: %d/n“, r); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 fun()的功能是:将 p 所指字符串中的所有字符复制到 b 中,要求在每复制 3 个字符之后插入 1 个空格。
例如,若给 a 输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组 b 中的内容为:“ABC DEF GHI JK”。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。
试题程序: #includestdio.h void f。
6、的内容是fun(int *a,int n) int i,j=0,p;p=j;for(i=j;in;i+)if(aiap)_;return(p); A. i=p B. ap=ai C. p=j D. p=i(分数:2.00)A.B.C.D.3.在 C 语言中,函数的隐含存储类别是 ( ) A.auto B.static C.extern D.无存储类别 (分数:1.00)A.B.C.D.4.有三个关系 R、S 和 T 如下:(分数:1.00)A.B.C.D.5.已知 a 的 ASC码为 97,执行下面两个语句后,输出的结果为_。
char c1=97;c2=98;printf(“%d%c“,c1,c2); A. 97 98 B. 97 b C. a 98 D. a b(分数:1.00)A.B.C.D.6.下列选项中,能正确定义数组的语句是 A. int num02008; B. int num; C. int N=2008; int numN; D. #define 。
7、勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。
试题程序: #includestdio.h #includeconio.h #define N 40 void fun(char *str1,char *str2) int i=0,j=0,k=0,n; char ch; char *p1=str1; char *p2=str2; while(*(p1+i) i+; while(*(p2+j) j+; n=U 【1】 /U; for(;k=j/2;k+,j-) ch=*(p2+k); *(p2+k)=*(p2+j); *(p2+j)=ch; U【2】 /U; for(;U 【3】 /U;i+) *(p1+i)=*p2+; *(p1+i)=/0; main() char str1N,str2N; int m,n,k; clrscr();printf(“*Input the string str1 k=j/2;k。
8、n 函数的横线上填入所编写的若干表达式或语句。
试题程序:# includestdio, hmain ( )int a=0, b=0, flag=l, fg=l;float result;char *p, ch;char str10;clrscr ();printf(“/n Input a string /n“);gets (str);p=str;while (*p)if (*p=0 elseif (fg)ch=*p;flag=2;fg=0;if (*p=0 p+;switch( 【3】 )case +: result=a+b;break;case -: result=a-b;break;case * :result=a*b;break;case / :result= (float) a/b;break;printf (“/nresult=%f“, result);(分数:30.00)填空项 1:_二、改错题(总题数:1。
9、1,28,15,2,42,53,40,27,14,5 程序的功能是:输出经过 n 次这样洗牌后的结果。
请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。
注意:源程序存放在 下的 BLANK1.C 中。
不得增行或删行,也不得更改程序的结构! 试题程序: 1 #includestdio.h 2 void fun(int a55,int n) 3 int i,k; 4 /*found*/ 5 int_55; 6 for(i=0“in;i+) 7 for(k=1;k=27;k+) 8 b2*k-1=ak; 9 /*found*/ 10 b_*k=ak+27; 11 12 for(k=1;k=54;k+) 13 /*found*/ 14 ak=_; 15 16 17 main() 18 int m,a55,i; 19 for(i=1;i55;i+)ai=i; pri。
10、tf(“%d“,i); 输出结果是 ( )(分数:1.00)A.28B.27C.42D.4122.x、y 和 z 被定义为 int 型变量,若从键盘给 x、y 和 z 输入数据,正确的输入语句是 ( )(分数:1.00)A.INPUTx、y,z;B.scan(“%d%d%d“, i + 2; printf(”%d,i); (分数:2.00)填空项 1:_二级 C 语言笔试 4 答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:54,分数:54.00)1.下列程序执行后的输出结果是 ( ) main( ) int a33,* p,i; p for(i1;i50;i+ +) xi; if(+ +%20) if(x%30) if(x%70) printf(“%d“,i); 输出结果是 ( )(分数:1.00)A.28B.27C.42D.41 解析:22.x、y 和 z 被定义为 int 型变量,若从键盘给 x、y 和 。
11、中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。
(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件),下面属于应用软件的是_。
(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。
(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。
(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.负责数据库中查询操作的数据库语言是_。
(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言。
12、fB.其之前最近的 ifC.其之前最近的未配对的 ifD.缩排位置相同的 if3.以下程序的输出结果是_。
#includestdio.h int main() int a=-1, b=1, k; if(+a0 else printf(“%d%d/n“, b, a); return 0; (分数:2.00)A.-1 1B.0 1C.1 0D.0 04.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是_。
(分数:2.00)A.if(abelse k=0;B.if(ab|bc)k=1;C.if(a=b)k=0;else if(b=c)k=1;else k=0;D.if(ab)k=1;else if(bc)k=1;5.以下程序运行后的输出结果是_。
#includestdio.h int main() int a=15, b=22, m=1; switch(a%3) case 0:switch(b%5) default:m-; case 2:m+; break; case 3:m-; bre。
13、。
(分数:2.00)A.#define PI 3.14159B.#define PI=3.14159C.#define PI=3.14159;D.#define PI 3.14159;3.若已定义 int a=6; ,则表达式 a+=a-=a*=a运算后,a 的值为_。
(分数:2.00)A.0B.6C.-24D.-604.以下程序运行结果是_。
#includestdio.h int main() int x=2, y=3, z; z=xy?-x:-y; printf(“%d, %d, %d/n“, x, y, z); return 0; (分数:2.00)A.2,2,3B.2,3,2C.2,2,2D.1,2,25.要使下列程序段输出内容为 123,123,45,则正确的输入数据是_。
int a, b, c; scanf(“%d, %3d%d“, printf(“%d, %d, %d/n“, a, b, c);(分数:2.00)A.12312345B.123,123,45C.123,12345D.123123,456.以下程序运行结果是。
14、10, *pa= 则以下叙述正确的是_。
(分数:2.00)A.(1)与(2)都能使指针 pa指向变量 aB.(1)将可能使系统出现无法预知的错误C.(2)将可能使系统出现无法预知的错误D.(1)和(2)都将可能使系统出现无法预知的错误3.以下程序运行后的输出结果是_。
#includestdio.h int main() char c, *pc= int a, *pa= double f, *pf= printf(“%d %d %d/n“, sizeof(pc), sizeof(pa), sizeof(pf); return 0; (分数:2.00)A.1 4 8B.4 4 4C.4 4 8D.1 1 14.若有语句 int a10=1, 2, 3, *pa=a; ,则以下叙述错误的是_。
(分数:2.00)A.pa与 a的值相等B.pa2与 a2的值相等C.*(pa+2)与 a2的值相等D.a+与 pa+的作用相同5.若有语句 int a, b10, *point=b; ,则以下各项均代表地址的是_。
(分数。
15、合法的整型常数是_。
(分数:2.00)A.-068B.0x48aC.1, 256D.1.03.以下关于 C 语言变量的叙述中,错误的是_。
(分数:2.00)A.不同基本类型的变量之间不能进行混合运算B.在定义变量的同时可对变量赋初值C.变量按所定义的类型存放数据D.程序中的变量必须先定义后使用4.若已定义 int a, b=6;执行语句 a=-b; 后,变量 a、b 的值分别_。
(分数:2.00)A.5 5B.5 6C.6 5D.6 65.以下程序运行时,应从键盘输入_,则输出结果是:3 #includestdio.h int main() int a, b; scanf(“%d, %d“, printf(“%d %d/n“, a, b); return 0; (分数:2.00)A.3,6B.3 6C.6,3D.a=3 b=66.若已定义 int a=1, b=2, c=3, d=4, k=2, t=2; ,执行(k=ab)|(t=cd)后 t 的值是_。
(分数:2.00)A.“false“B.2C.0D.17.。
16、a“C.“abc“D.“abc“3.若已定义 int a, b=5, c=6; ,以下不正确的赋值语句是_。
(分数:2.00)A.a=b=c=3;B.a=b+=12;C.a+1=b;D.a=b-c;4.若已定义 int x, y, z; ,执行语句 x=(y=z=2, z+, y+=z); 后,x 的值是_。
(分数:2.00)A.2B.3C.5D.85.函数表达式 strlen(“531/0ab“)的值为_。
(分数:2.00)A.7B.4C.3D.66.若已定义:int a=3, b=4, c=5; ,则下面表达式中值为 0 的是_。
(分数:2.00)A.“a“ else x=2; A B C D (分数:2.00)A.B.C.D.9.以下程序运行时,while 循环体的循环次数为_。
#includestdio.h int main() int i=0; while(i10) if(i3) i+; continue; if(i=5) break; i+; printf(“%d/n“, 。
17、分数:2.00)A.-123e-3.0B.-.123C.-1.23e-1D.-0.1233.已定义 C 为字符型变量,则下列语句中,正确的是_。
(分数:2.00)A.c=“97“B.c=“97“C.c=97D.c=“a“4.在 C 语言中,要求运算数必须是整型的运算符是_。
(分数:2.00)A./B.%C.+D.*5.根据以下已有定义和数据的输入方式,输入语句的正确形式为_。
已定义:float x, y; 数据的输入方式:3.62 2.8(分数:2.00)A.scanf(“%f, %f“, B.scanf(“%f%f“, C.scanf(“%3.2f%2.1f“, D.scanf(“%3.2f, %2.1f“, 6.判断 char 型变量 c 是否为大写字母的正确表达式为_。
(分数:2.00)A.“A“=c=“Z“B.(“A“=c)|(c=“Z“)C.(c=A) int a; float x; double y; ,则表达式 c*a+y-x 值的数据类型为_。
(分数:2.00)A.doubleB.floatC.charD。
18、有一个分号3.下面关于 C 语言的叙述中,错误的是_。
(分数:2.00)A.若一条语句较长,也可分写在下一行上B.构成 C 语言源程序的基本单位是表达式C.C 语言源程序中大、小写字母是有区别的D.一个 C 语言源程序可由一个或多个函数组成4.关于 C 语言的叙述中,不正确的是_。
(分数:2.00)A.C 程序可由一个或多个函数组成B.C 程序必须包含一个 main()函数C.C 程序的基本组成单位是函数D.注释说明只能位于一条语句的后面5.以下能表示正确常量的是_。
(分数:2.00)A.E5B.1E5.1C.“a12“D.32766L6.若有定义:int a=1, b=2, c=3, d=4, x=5, y=6; ,则表达式(x=ab) ,则正确的赋值表达式是_。
(分数:2.00)A.a-=(a*3)B.double(-a)C.a*3D.a*4=311.若有定义:int x=1111, y=222, z=33; ,则语句 printf(“%4d+%3d+%2d“,x,y,z);运行后的输出结果为_。
(分数:2.00)A.11112。
19、ar name20; worker;(分数:2.00)A.struct是结构类型的关键字B.struct TT是结构类型C.worker是结构类型名D.name是结构成员名3.若有以下的结构类型别名定义: typedef struct stu int num; char name20; STU; 则下面定义结构数组并进行初始化的语句中正确的是_。
(分数:2.00)A.STU aa2=1, “wen“, 2, “que“;B.struct stu bb2=1, wen, 2, que;C.STU cc2=1, “wen“, 2, “que“;D.struct stu dd2=1, “wen“; 2, “que“;4.在声明一个结构变量时,系统分配给它的内存大小是_。
(分数:2.00)A.该结构变量中第一个成员所需内存量B.该结构变量中最后一个成员所需内存量C.该结构变量的成员中占内存量最大者所需的容量D.该结构变量各成员所需内存量的总和5.设有枚举类型定义语句: enum t1a1, a2=7,。
20、语言的语法规则,下列_是用户定义的合法标识符。
(分数:2.00)A.elseB.ElseC.user$3D.5_object4.若已定义 int x=136, y; ,执行语句 y=x/10%10; 后,y 的值是_。
(分数:2.00)A.1B.3C.6D.05.语句 printf(“%c, %d/n“, 66, 66); 的输出结果是_。
(分数:2.00)A.B,66B.B,BC.66,BD.66,666.以下程序运行结果是_。
#includestdio.h int main() int a=-1, b=3, k; k=(a=0) printf(“%d, %d, %d/n“, a, b, k); return 0; (分数:2.00)A.-1,1,1B.-1,1,0C.-1,3,1D.-1,3,07.以下四个运算符,按优先级由高到低的排列顺序是_。
(分数:2.00)A.!、%、=、=B.%、!、=、=C.!、%、=、=D.!、=、%、=8.执行以下程序,若从键盘输入 5,则输出结果是_。
#includ。