c语言试卷第四套
2024年6月青少年软件编程C语言等级考试试卷四级真题

2024年6月青少年软件编程C语言等级考试试卷四级真题分数:100 题数:41.人以群分(25分)。
社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。
要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。
输入:第一行给出一个正整数N(2≤N≤105)。
随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。
题目保证这些数字以及它们的和都不会超过231。
输出:按下列格式输出:,其中N1是外向型人的个数;N2是内向型人的个数;N3是两群人总活跃度之差的绝对值。
2.那就别担心了(25分)。
下图转自“英式没品笑话百科”的新浪微博——所以无论有没有遇到难题,其实都不用担心。
博主将这种逻辑推演称为“逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义……)。
现给定一个更为复杂的逻辑推理图,本题就请你检查从一个给定命题到另一个命题的推理是否是“逻辑自洽”的,以及存在多少种不同的推理路径。
例如上图,从“你遇到难题了吗?”到“那就别担心了”就是一种“逻辑自洽”的推理,一共有3条不同的推理路径。
输入:首先在一行中给出两个正整数N(1<N≤500)和M,分别为命题个数和推理个数。
这里我们假设命题从1到N编号。
接下来M行,每行给出一对命题之间的推理关系,即两个命题的编号S1 S2,表示可以从S1推出S2。
题目保证任意两命题之间只存在最多一种推理关系,且任一命题不能循环自证(即从该命题出发推出该命题自己)。
最后一行给出待检验的两个命题的编号A B。
输出:在一行中首先输出从A到B有多少种不同的推理路径,然后输出Yes如果推理是“逻辑自洽”的,或No如果不是。
题目保证输出数据不超过109。
3.凑零钱(25分)。
韩梅梅喜欢满宇宙到处逛街。
套题4---C语言程序设计---答案

int day;
};
void func(struct date p)
{
p.year = 2000;
p.month = 5;
p.day = 22;
}
main()
{
struct date d;
d.year = 1999;
d.month = 4;
d.day = 23;
printf("%d,%d,%d\n", d.year, d.month, d.day);
1.从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”,否则输出“No”。已知符合下列条件之一者是闰年:
能被4整除,但不能被100整除。
能被400整除。
#include <stdio.h>
main()
{
int year, flag;
printf("Enter year:");
scanf("%d",&year);
6.共用体所占的内存空间大小取决于占空间最多的那个成员变量。()
二、单项选择题:(10分,每题2分)
1.判断字符串s1与字符串s2相等,应当使用:。
A) if (s1=s2)
B) if (strcmp(s1, s2))
√C) if (!strcmp(s1, s2))
D) if (strcmp(s1, s2)= 0)
试题四
参考答案与评分标准
一、判断对错(6分,每题1分,对:√,错:×)
1.在C语言中,可以用typedef定义一种新的类型。()
2.C语言中基本数据类型包括整型、实型、字符型。()
3.不同的函数中可以使用相同的变量名。()
套题4---C语言程序设计---答案

套题4---C语言程序设计---答案 试题四 参考答案与评分标准 一、判断对错(6分,每题1分,对:√,错:×) 1.在C语言中,可以用typedef定义一种新的类型。() 2.C语言中基本数据类型包括整型、实型、字符型。()3.不同的函数中可以使用相同的变量名。() 4.形式参数是局部变量。() 5.若有定义int *p[4];则标识符p是一个指向有四个整型元素的一维数组的指针变量。() 6. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。() 二、单项选择题:(10分,每题2分) 1.判断字符串s1与字符串s2相等,应当使用:。 A) if (s1 = s2) B) if (strcmp(s1, s2)) √C) if (!strcmp(s1, s2)) D) if (strcmp(s1, s2) = 0) 2.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。 A. j*n+i √ B. i*n+j C. i*n+j-1 D. i*n+j+1 3. #include #include main() { printf("%d\n", strlen("IBM\n012\t\"\\\0")); } 则程序运行后的输出结果是。 √A) 10 B) 11 C) 16 D) 12 4.有如下程序片段: int i = 0; while(i++ <= 2); printf("%d", i); 则正确的执行结果是: A) 2B) 3 √C) 4D) 程序陷入死循环 5. 下面哪个定义是合法的。 A) char a[8] = "language"; B) int a[5] = {0,1,2,3,4,5}; √C) char *a = "string"; D) int a[2][] = {0,1,2,3,4,5,6}; 三、 1. #include main( ) { int a = 5, b = 4, x, y; x = 2 * a++ ; printf("a=%d, x=%d\n", a, x); y = --b * 2 ; printf("b=%d, y=%d\n", b, y); } 则程序运行结果是: a=6, x=10 b=3, y=6 2. #include void fun1(int x) { x=20; } void fun2(int b[4]) { int j; for(j=0; j<4; j++) { b[j]=j; } } main() { int x = 10; int a[4] = {1,2,3,4}, k; fun1(x); printf("x = %d\n", x); fun2(a); for(k=0; k<4; k++) { printf("%d\n", a[k]); } } 运行结果是: x = 10 1 2 3 3. #include main() { int x, y; scanf("%2d%*4s%2d", &x, &y); printf("%d", y-x); } 程序运行时输入:123456789↙ 则程序运行结果是:66 4. #include struct date { int year; int month; int day; }; void func(struct date p) { p.year = 2000; p.month = 5; p.day = 22; } main() { struct date d; d.year = 1999; d.month = 4; d.day = 23; printf("%d,%d,%d\n", d.year, d.month, d.day); func(d); printf("%d,%d,%d\n", d.year, d.month, d.day); } 程序运行结果为: 1999,4,23 1999,4,23 5. #include void Fun(int *y) { printf("*y = %d\n", *y); *y += 20; printf("*y = %d\n", *y); } main() { int x = 10; printf("x = %d\n", x); Fun(&x); printf("x = %d\n", x); } 程序运行结果是: x = 10 *y = 10 *y = 30 x = 30 四、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(8分,评分标准:每空1分,正确得1分,错误扣1分) 1.从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”,否则输出“No”。已知符合下列条件之一者是闰年: 能被4整除,但不能被100整除。 能被400整除。 #include main() { int year, flag; printf("Enter year:"); scanf("%d", &year ); if ( year%4==0&&year%100!=0 || year%400==0 ) { flag = 1; } else { flag = 0; } if ( flag ) { printf("Yes\n"); } else { printf("No\n"); } } 2. 编程判断m是否为素数。 #include #include main() { int n, flag; printf("Input n:"); scanf("%d", &n); flag = IsPrime(n); if (flag) { printf("它是素数\n"); } else { printf("它不是素数\n"); } } int IsPrime(int m) { int i, k; if (m <= 1) { return 0; } for (i=2; i<=sqrt(m); i++) { k = m % i; if (k == 0) { return 0; } } return 1 ; } 五、在下面给出的4个程序中,共有18处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。(34分,每找对1个错误,加1分,每修改正确1个错误,再加1分。只要找对17个即可,多找不加分。) 1.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。已知:判断是否有新单词出现的方法——当前被检验字符不是空格,而前一被检验字符是空格,则表示有新单词出现。(5个错误)#include main() { int i, num, n=20; char str[n]; // char str[20]; scanf("%s", str); //gets(str); if (str[0] != ' ') { num = 1; } else { num = 0; } for (i=1; i<20; i++) //for (i=1; str[i]!=’\0’; i++) { if (str[i]!=' '|| str[i-1]==' ') //if (str[i]!=' '&& str[i-1]==' ') { num = num++; // num++; } } printf("num=%d\n", num); } 2.编写一个函数Inverse(),实现将字符数组中的字符串逆序存放的功能。(5个错误) #include #include #define ARR_SIZE = 80; //#define ARR_SIZE 80 void Inverse(char str[]) // void Inverse(char str[]); main() { char a[ARR_SIZE] ; printf("Please enter a string: "); gets(a); Inverse(char a[]); // Inverse(a); printf("The inversed string is: "); puts(a); } void Inverse(char str[]) { int len, i = 0, j; char temp; len = strlen(str); for (j=len; i<="" p=""> // for (j=len-1; i<="" p=""> { temp = str[i]; str[j] = str[i]; // str[i] = str[j]; str[j] = temp; } }
C语言程序设计模拟试题4(附答案)

《C语言程序设计》模拟试卷四一、单项选择题(每题2分,共30分)1、下列对C语言特点的描述中,错误的是。
A)C语言不是结构化程序设计语言B)C语言编程简洁明了C)C语言功能较强D)C语言移植性好2、设变量a是整型,b是实型,c是双精度型,则表达式2+‘ a ’+b*c值的数据类型。
A)int B)float C)double D)不确定3、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是。
A)0,1 B)1,0 C)1,1 D)2,04、在scanf()函数的给是说明符中,长整型数的输入格式说明符是。
A)%d B)%ld C)%lf D)%x5、以下程序的执行结果是。
main(){ int n=1;printf(“%d,%d,%d”,n,++n,n--); }A)1,1,1 B)1,2,1 C)0,1,1 D)1,2,26、判断char型变量ch是否为大写字母的正确表达式是。
A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(‘A’<=ch)AND(‘Z’>=ch)D)(ch>=‘A’)&&(ch<=‘Z’)7、能够完成如下函数计算的程序段是。
- 1 x < 0y = 0 x = 01 x > 0A)y = - 1 ; B)if ( x > = 0 )if ( x != 0 ) if ( x > 0 ) y = 1 ;if ( x > 0 ) y = 1 ; else y = 0 ;else y = 0 ; else y = -1 ;C)y = 0 ; D)y = - 1 ;if ( x > = 0 ) if ( x > 0 ) y = 1 ;if ( x > 0 ) y = 1 ; else y = 0 ;else y = -18、下列循环语句中,执行循环体的次数是。
国家二级C语言机试(函数和数组)模拟试卷4(题后含答案及解析)

国家二级C语言机试(函数和数组)模拟试卷4(题后含答案及解析) 题型有:1. 选择题选择题1.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A.main( ){……x=fun(2,10);……}floatfun(inta,intb){……)B.floatfun(inta,intb){……)main( ){……x=fun(i,j);……)C.floatfun(int,int);main( ){……x:fun(2,10);……)floatfun(inta,intb){……)D.main( ){floatfun(inti,intj);……x=fun(i,j);……)floatfun(inta,intb){……}正确答案:A解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char 时除外)。
在选项A中,调用的子函数在调用后面定义,所以不正确。
在选项B、C中,被调用函数在主函数之前定义,再在主函数中调用,所以是正确的;在选项D中,在主函数中先对子函数floatfun(inti,inti)进行了声明,然后进行调用。
知识模块:函数和数组2.有以下程序#}include<string-h>main( ){charp[20]:{‘a’,’b’,’C’,’d’),q[]=‘‘abc’’,r[]=‘‘abcde’’;strcat(p,r);strcpy(p+strlen(q),q);printf(‘‘%d\n’’,strlen(p));}程序运行后的输出结果是A.9B.11C.6D.7正确答案:C解析:字符串连接函数scrcat(*p,r)的功能是把字符数组p[]和r[]连接起来,此时字符数组p[]的有效字符长度为9,冉执行strcpy(p+strlen(q),q)字符串复制函数,把字符数组q[]复制到字符数组p[]从p[3]开始到p[5]数组位置中,由于字符数组q[]中的内容为字符串”abc”复制时把字符串结束标志’\null也复制到字符数组p[]中,这时字符函数strlen(p)返同字符数组p[]的有效字符长度为6。
C语言期末考试试卷及答案4.docx

一、单项选择题(本大题共20小题,每小题1分,共20分)1. 构成一个可执行的C 程序的是 A. 一个主函数和若干个非主函数 B.若干个主函数和若干个非主函数 C. 一个主函数和最多一个非主函数C.若干个主函数和最多一个非主函数2. 下面那一个是合法的C 语言标识符:( )A. abcB. longC. 4thD. a-33.用十进制数表示表达式“12|012”的运算结果是( )A. 1B. 0C. 14D. 124.以下哪一个不是C 语言合法的运算符()A. *B. &C. @D. +5. 按照结构化程序设计的概念,C 语言程序设计的基本单位是()A.过程B.函数C.子程序D.语句 6. 下面哪个表达式的值为4.()A. 11/3B. 11.0/3C. (float) 11/3D. (int) (11.0/3+0. 5) 7. 下面C 代码的输出结果是()int answer, result;answer=100;result 二answerT0;printf ( "The result is %d” , result+5); A. The result is 90 B. The result is 95 C. The result is 10 D. The result is 1008. 设x 和y 均为int 型变量,则执行下面的循环后,y 的值为() for(y=l, x=l;y<=50;y++) { if (x>=10)break;if(x%2==l){x+=5;continue;}A. 2.B. 4C. 6D. 8 9. 有如下程序,输出结果是( )main() {float x=4. 0, y; if(x<0. 0)y=0. 0;else if (x<8. 0) y=l. 0/x; else y=l. 0; printf( "%f\n" , y);11. 语句 printf ( “%d\n” , strlen( “ats \n\\g”));的输出结果是() A. 5 B. 6 C. 7 D 812. 设有定义:char s[20] = { “Good morning” };则s 所占的字节数为:A. 0. 000000B. 0. 250000 10. 合法的数组定义是() A. int a[] = { "String” };C. char a={ "String” };C. 0. 500000D. 1. 000000B. int a[5] = {0, 1, 2, 3, 4, 5}D. char a[] = {0, 1, 2, 3, 4, 5}A. 20B. 12C. 13D. 2113. C 语言规定,函数返回值的类型由什么决定()A return 语句中的表达式类型B 调用该函数吋的主调函数类型C 调用该函数时的形参类型D 在定义该函数时所指定的函数类型 14. C 语言中函数的隐含存储类型是 A. auto B. static C. extern D.无存储类型15. 以下函数的功能是交换x 和y 的值,不正确的是:16. 设有以下宏定义,则执行语句z 二2*(N+Y (5+1));后,z 的值为()^define N 3 #define Y(n)((N+l)*n)A.出错B. 42C. 48D. 54 17. 以下程序的输出结果是()#define ADD(x) (x) + (x) mainO{ i nt a=4, b=6, c=7, d 二ADD (a+b) *c;printf( "d=%d" , d) ; }A d=70B d 二 140C d 二280D d=8018. 设有定义语句 struct {int x; int y;} d[2]二{{1,3}, {2, 7}};贝ij printf ( "%d\n”,d[0]・ y/d[O]・ x*d[l]・x);的输出是( )A. 0B. 1C. 3D. 619. 设int b[20];则对b 数组元素的错误引用是: A. b[5] B. *(b+l) C. b[20%2] D. b(5)20. 若文件型指针fp 己指向某文件的末尾,则函数feof(fp)返回值是() A. 0 B. - 1 C.非零值 D. NULL二、填空题(本大题共10小题,每小题2分,共20分)1. _________________________________________________________________________ 若自定义函数要求返回一个值,则应在该函数体中有一条 ____________________________________________ 语句,若自定义函数要求不返回值,则应该在定义该函数时的返回类型是 ____________________ .2. 当a 二3, b 二4, c 二5时,写出下列各式的值。
C语言模拟试卷4

C语言模拟试卷4一、基础题(30分,每小题3分)1.已知int a = 5, b = 8; 求表达式++a / 2 + b-- 的值。
2.已知in a[5] = { 2, 3, 4, 5, 6 }; int *p = a+2; 求表达式*p*a[3]的值。
3.写出将实数x 的小数点后第三位四舍五入的表达式。
4.已知有职工结构体数组struct { int num; char name[20]; } per[100];请使用scanf函数写出:输入下标为i的职工的num和name的语句。
5.请写出表达式:将整数n(0≤n≤9)转化为ASCII字符。
6.请写出逻辑表达式:x大于10与y不大于10至少有一个成立。
7.写出表达式(0x1234 & 0xFF) << 8 的16进制结果。
8.请计算for ( i = 3; i <= 99; i+=5 ) 的循环次数是多少?9.请说明表达式(x%2) && !(y%3==0) 的逻辑含义。
10.请简要描述循环体中break 语句和continue 语句的主要区别。
二、改错程序(12分,每错误点3分)以下程序求 e = 1 + 1/1! + 1/2! + … + 1/n! + …的解,本程序有4个错误,请仔细阅读程序,指出所在的行号,并写出该行正确的程序内容。
(1)#include <stdio.h>(2)main()(3){(4)double e, a;(5)int n;(6) e = 0.0;(7) a = 1.0;(8)i = 1;(9)do {(10) a /= i;(11) e += a;(12)i = i + 1;(13)} while ( a<=1e-12 );(14)printf( "0.12f\n", e );(15)}三、阅读程序(24分,每小题6分)仔细阅读下列程序,写出各程序的运行结果。
国家二级(C语言)机试模拟试卷4(题后含答案及解析)_1

国家二级(C语言)机试模拟试卷4(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。
例如,当a=1,b=2,c=1时,方程的两个根分别是:x1=-1.00,x2=-1.00。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>#include <conio.h>#include <math.h>main( ) { float a,b,c,disc,x1,x2,p,q;scanf(“%f,%f,%f”,&a,&b,&c);disc=b*b-4*a*c;clrscr( );printf(“****** the result ****+*+\n”);if(disc>=0) {x1=【】;x2=(-b-sqrt(disc))/(2*a);printf(“x1=%6.2f,x2=%6.2f\n”,x1,x2);} else { p=【】;q=【】;printf(“x1=%6.2f+%6.2f i\n”,p,q);printf(“x2=%6.2f-%6.2f i\n”,p,q);} }正确答案:(-b+sqrq(disc))/(2*a)-b/(2*a)sqrt(fabs(disc))/(2*a)解析:程序修改题(30分)2.下列给定程序中函数fun( )的功能是计算1/n!的值。
例如:给n 输入5,则输出0.0083330 请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:#include <stdio.h>#include <conio.h>/******+****found*************/ int fun(int n) {double result=1.0;if(n==0) return 1.0;while(n> 1 && n<170) /**********found************/ result *=n++;result=1/result;return result;} main( ) { int n;printf(“Input N:”);scanf(“%d”,&n);printf(“\n1/%d!=%If\n”,n,fun(n));}正确答案:(1)错误:int fun(int n) 正确:double fun(int n)(2)错误:result*=n++;正确:result*=n--;解析:错误1:函数的返回值为实型数据,所以函数的返回类型应为double。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=i+32)后,x的值为:(D).
A.52
B.16
C.4
D.36
整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)。
A.x=y*4/2
B.x=9-(--y)-(--y)
C.x=(x=1+2,x*2)
D.x=y<2?6:5
以下程序的输出结果为(A)。
main()
{int i=010,j=10;
printf("%d,%d\n",++i,j--);
}
A.9,10
B.10,9
C.010,9
D.11,10
如下说法不正确的是(D).
A.若b为假a为真,则 a||b为真
B.若b为真a为假,则 a||b为真
C.若b为真a为真,则 b&&!a为假
D.若b为假,则!b+1为假
下列(C)表达式的值为真,其中a=5;b=8;c=10;d=0
A.(a*2-c)||d
B.a*2>8+2
C.a-b
以下能计算1×2×3×┈×10的程序段是(C).
A.do{ i=1;s=1;s=s*i;i++;}while(i>=10) ;
B.do{ i=1;s=1;s=s*i;i++;}while(i<=10) ;
C.i=1;s=1;do {s=s*i; i++; }while(i<=10) ;
D.i=1;s=1; do { s=s*i; i++;}while(i>=10) ;
以下正确的描述是(A).
A.continue语句用来终止本次循环,继续下一次循环。
B.switch语句中不能出现continue语句
C.在循环中break语句不能独立出现
D.goto语句只能用于退出多层循环
下面各语句中,能正确进行赋字符串操作的语句是(B).
A.char s1[5][ ]={"ABCDE"};
B.char s2[6]={'A','B','C','D','E'};
C.char st[ ][ ]={"ABCDE"};
D.char s[5]={'A','B','C','D','E'};
下述对C语言字符数组的描述中,错误的是(C).
A.不可以用关系运算符对字符数组中的字符串进行比较.
B.字符数组中的字符串可以整体输入、输出.
C.可以通过赋值运算符"="对字符数组整体赋值.
D.字符数组中可以存放字符串.
若有说明 int a[3][4];则对a数组元素的正确引用是(C)。
A.a[1,3]
B.a[2][4]
C.a[1+1][0]
D.a(2)(1)
程序运行结束后,屏幕上输出值为(B).
static int x=10;
f( )
{ x++;
}
main( )
{ int x=3;
f( );
x- -;
printf("%d",x);
}
A.10
B.2
C.11
D.3
C语言规定,函数返回值的类型是由(A)。
A.在定义该函数时所指定的函数类型所决定
B.return语句中的表达式类型所决定
C.调用该函数时系统临时决定
D.调用该函数时的主调函数类型所决定
若调用一个函数,且此函数中没有return语句,则正确的说法是:
该函数(B)。
A.没有返回值
B.返回一个不确定的值
C.返回若干个系统默认值
D.能返回一个用户所希望的值
设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B).
A.6.28
B.12.56
C.3.14
D.9.42
下面选择中正确的赋值语句是(设char a[5],*p=a;)(A)。
A.p="abcd";
B.a="abcd";
C.*a="abcd";
D.*p="abcd";
static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它
有10个结构体型的下标变量,采用静态存
储方式,其中被初始化的下标变量是(A)。
A.a[0]
B.a[10]
C.a[1]
D.a[-1]
在C程序中,可以一次写入一组数据到指定文件中的函数是(C)。
A.fprintf
B.fread
C.fwrite
D.fputc
整型变量在可输出字符范围内,可以和字符型数据相互转化. T
putchar 函数的原型(函数说明)在 stdio.h 内. T
设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0. F
已知三目运算exp1?exp2:exp3的含义是先求exp1,若为0,则求解exp2,则表达式值为exp2的值,
否则是exp3的值. F
对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. F
for循环可以用于循环次数不确定而给出循环条件的情况下. T
设有数组定义: char array[ ]="hello"; 则数组 array所占的内存空间为5字节. F
数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素. T
puts 函数用来输出一个字符. F
在一个函数中定义的静态局部变量不能被另外一个函数所调用. T
C语言中,只允许直接递归调用而不允许间接递归调用. F
数组名可作为函数的实参,但不能作为函数的形参. F
计算机编译系统对宏定义在编译时进行语法检查. F
定义 int k[ ]={1,2,3,4},y,*p=&k[1];,则执行y=(*--p)++后, y的值不是2. T
在定义结构体变量时,允许使用初始化方法对其整体赋初值. T
C语言中,在打开文件时,必须说明文件的使用方式,"w"用于文件的读写. F
若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为 __10___,n
的值为__6___.
设(k=a=5,b=3,a*b),则表达式的值为__15___.
若int x=6;则x+=x-=x*x表达式最后x的值是__-60___.
设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是
__1___.
C语言中,数组元素的下标下限为__0___.
局部静态变量是在静态存储区分配存储单元的,在整个程序运行期间始终占__内存___的.
设有以下共用体类型说明和变量定义,在TC编译环境下,变量d在内存所占字节数是 __12___。
union stud
{ short int num;
char name[8];
float score[3];
double ave;
}d,stu[3];
feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为__非零值___。
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将主函数中输入的字符串反序存放。
例如:输入字符串"abcdefg",则应输出"gfedcba"。
------------------------------------------------*/
#include "stdio.h"
#include "string.h"
#include "conio.h"
#define N 81
void fun(char *str,int n)
{
/*********Begin**********/
/********** End **********/
}
【参考代码】
int i,j;
char c;
for(i=0,j=n-1;i
*(str+i)=*(str+j);
*(str+j)=c;}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:从低位开始取出长整型变量s中偶数位上的数,依次
构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:642。
------------------------------------------------*/
#include "stdio.h"
long fun (long s)
{
/*********Begin**********/