计算机二级C语言历年编程题库
变量 h 中的值保留 2 位小树,并对第三位进行四舍五入(规定 h 中的 值位正数)。 答案:
float fun(float h) { long t; float s; h=h*1000; t=(h+5)/10; s=(float)t/100.0; return s; }
计算机二级 C 语言历年编程题库
2011,2012 年上机题 100 题库
1: 第 1 题 m 个人的成绩存放在 score 数组中,请编写函数 fun,它 的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数 放在 below 所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; }
return k; }
2: 第 2 题 请编写函数 fun,它的功能是:求出 1 到 100 之内能北 7 或者 11 整除,但不能同时北 7 和 11 整除的所有证书,并将他们 放在 a 所指的数组中,通过 n 返回这些数的个数。 答案:
void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; }
float fun() { float x1=0.0,x0; do { x0=x1; x1=cos(x0); } while(fabs(x0-x1)>1e-6); return x1; }
11: 第 11 题 下列程序定义了 n×n 的二维数组,并在主函数中自动
赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三 角元素中的值全部置成 0。 答案:
} else break; } } }
6: 第 6 题 请编写一个函数 void fun(char a[],char[],int n),其功能 是:删除以各字符串中指定下标的字符。其中,a 指向原字符串,删 除后的字符串存放在 b 所指的数组中,n 中存放指
答案:
定的下标。
void fun(char a[],char b[], int n) { int I,j=0; for (i=0;i<LEN;i++)
9: 第 9 题 编写一个函数 fun,它的功能是:根据以下公式求 p 的值,
结 果 由 函 数 值 带 回 。 M 与 n 为 两 个 正 整 数 , 且 要 求 m>n 。 p=m!/n!(m-n)! 答案:
float fun(int m, int n) { float p,t=1.0; int I; for (i=1;i<=m;i++) t=t*I; p=t; for(t=1.0,i=1;i<=n;i++) t=t*I; p=p/t; for(t=1.0,i=1;i<=m-n;i++) t=t*I; p=p/t; return p; }
10: 第 10 题 编写函数 fun,它的功能是:利用以下的简单迭代方法 求方程 cos(x)-x=0 的一个实根。
迭代步骤如下:(1)取 x1 初值为 0.0; (2)x0=x1,把 x1 的值赋各 x0; (3)x1=cos(x0),求出一个新的 x1; (4)若 x0-x1 的绝对值小于 0.000001,则执行步骤(5),否则执行步 骤(2); (5)所求 x1 就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 程序将输出 root=0.739085。 答案:
3: 第 3 题 请编写函数 void fun(int x,int pp[],int *n),它的功能是: 求出能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所 指的数组中,这些除数的个数通过形参 n 返回。 答案:
void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; } for(i=0;i<j;i++) if(x%t[i]==0) { pp[k]=t[i]; k++; } *n=k; }
int fun(int a[][N]) { int I,j; for(i=0;i<N;i++) for(j=0;j<=I;j++) a[i][j]=0; }
12: 第 12 题 下列程序定义了 n×n 的二维数组,并在主函数中赋值。 请编写函数 fun,函数的功能使求出数组周边元素的平均值并作为函 数值返回给主函数中的 s。 答案:
13: 第 13 题 请编写一个函数 void fun(int tt[m][n],int pp[n]),tt 指向一个 m 行 n 列的二维函数组,求出二维函数组每列中最小元素, 并依次放入 pp 所指定一维数组中。二维数组中的数已在主函数中赋 予。 答案:
void fun(int tt[M][N], int pp[N]) { int I,j,min; for(j=0;j<i<M;i++) { if (tt[i][j]<min) min=tt[i][j]; } pp[j]=min; } }
17: 第 17 题 请编写一个函数 fun(char *s),该函数的功能使把字 符串中的内容拟置。 答案:
void fun(char *s) { char ch; int I,m,n;
i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++; m--; }
if (i!=n) { b[j]=a[i]; j++; } b[j]=‘\0’; }
7: 第 7 题 请编写一个函数 int fun(int *s,int t,int *k),用来求除数 组的最大元素在数组中的下标并存放在 k 所指的储存单元中。 答案:
void fun (int *s, int t, int *k) { int I, max; max=s[0]; for(i=0;i<t;i++) if (s[i]>max) { max=s[i]; *k=I; }
14: 第 14 题 请别写函数 fun,函数的功能使求出二维数
组周边元素之和,作为函数值返回。二维数 组中的值在主函数中赋予。 答案:
int fun(int a[M][N]) { int I,j,s=0; for(j=0;j<N;j++) { s+=a[0][j]; s+=a[M-1][j]; } for(i=1;i<=M-2;i++) { s+=a[i][0]; s+=a[i][N-1]; } return s; }
double fun(int w[][N]) { int I,j,k=0; double s=0.0; for(j=0;j<N;j++)
{ s+=w[0][j]; k++; } for(j=0;j<N;j++) { s+=w[N-1][j]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][N-1]; k++; } return s/=k; }
4: 第 4 题 请编写一个函数 void fun(char *tt,int pp[]),统计在 tt 字符中"a"到"z"26 各字母各自出现的次数, 并依次放在 pp 所指的数组中。 答案:
void fun(char *tt, int pp[]) { int i; for (i=0;i<26;i++) pp[i]=0; while (*tt) { switch (*tt) { case ‘a’: pp[0]++;break; case ‘b’: pp[1]++;break; case ‘c’: pp[2]++;break; case ‘d’: pp[3]++;break; case ‘e’: pp[4]++;break; case ‘f’: pp[5]++;break; case ‘g’: pp[6]++;break; case ‘h’: pp[7]++;break; case ‘i’: pp[8]++;break; case ‘j’: pp[9]++;break; case ‘k’: pp[10]++;break; case ‘l’: pp[11]++;break;
case ‘m’: pp[12]++;break; case ‘n’: pp[12]++;break; case ‘o’: pp[14]++;break; case ‘p’: pp[15]++;break; case ‘q’: pp[16]++;break; case ‘r’: pp[17]++;break; case ‘s’: pp[18]++;break; case ‘t’: pp[19]++;break; case ‘u’: pp[20]++;break; case ‘v’: pp[21]++;break; case ‘w’: pp[22]++;break; case ‘x’: pp[23]++;break; case ‘y’: pp[24]++;break; case ‘z’: pp[25]++;break; } tt++; } }
c国家二级考试试题及答案
c国家二级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个选项是正确的数据类型?A. intB. floatC. doubleD. All of the above答案:D2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. All of the above答案:C4. 下列哪个选项是C语言中正确的数组声明方式?A. int array[10];B. int [10] array;C. int array[];D. All of the above答案:D5. 在C语言中,哪个函数用于输入字符?A. scanf()B. getchar()C. printf()D. Both A and B答案:B6. 下列哪个选项是C语言中的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. All of the above答案:A7. 在C语言中,哪个关键字用于跳过当前循环的剩余部分,并开始下一次迭代?A. continueB. breakC. returnD. Both A and B答案:A8. 下列哪个选项是C语言中正确的结构体声明方式?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. Both A and BD. None of the above答案:C9. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. All of the above答案:C10. 下列哪个选项是C语言中正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
全国二级计算机考试c语言试题及答案
全国二级计算机考试c语言试题及答案全国二级计算机考试C语言试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. _intC. intD. variable2答案:B2. 下列关于C语言中数组的描述,正确的是:A. 数组的大小在定义后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组必须在程序开始时定义答案:B3. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:C4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以被赋值为NULLC. 指针可以存储任何类型的数据D. 指针可以被解引用答案:C6. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D9. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,以下哪个选项是正确的条件语句?A. if (x)B. if xC. if (x == 0)D. if (x != 0)答案:A二、填空题(每题2分,共10分)1. 在C语言中,______关键字用于声明一个变量。
答案:int2. 一个C语言程序的执行从______函数开始。
计算机二级c语言考试题目及答案
计算机二级c语言考试题目及答案一、单项选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 `int a[3] = {1, 2, 3};`,则数组元素 `a[2]` 的值是多少?A. 1B. 2C. 3D. 0答案:C3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 0x1ZC. 0x1.2D. 0x1G答案:A5. 在C语言中,哪个运算符用于计算两个数的乘积?A. *B. /C. %D. ++答案:A6. 若有定义 `int x = 10;`,则执行 `x += 5;` 后,变量 `x` 的值是多少?A. 5B. 10C. 15D. 20答案:C7. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:D8. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. $variableD. variable-2答案:B9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 若有定义 `float x = 3.14;`,则执行 `x *= 2;` 后,变量 `x` 的值是多少?A. 3.14B. 6.28C. 2.0D. 0.0答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:int *2. 若有定义 `char str[] = "Hello";`,则`str[0]`的ASCII码值是________。
计算机二级c语言考试试题及答案
计算机二级c语言考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 若有定义:int a = 5;,则执行以下语句后变量a的值是多少?```ca += (a / 2) + 1;```A. 8C. 6D. 5答案:B5. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r+"B. "w+"C. "a+"D. "b+"答案:B6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. !=答案:A7. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. return答案:C8. 若有定义:char ch = 'A';,则执行以下语句后变量ch的ASCII 值是多少?```cch = ch - 'a' + 'A';```B. 97C. 66D. 98答案:A9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strcmp答案:A10. 下列哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /* This is a comment */D. # This is a comment答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个数组。
(完整版)计算机二级C语言考试编程题题库
计算机c语言编程题库1、求100之内自然数中最大的能被17整除的数。
void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
void main(){int a,b,c;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=1;c<=9;c++)if(a*100+b*10+c+c*100+b*10+a==1333)printf("%d,%d,%d\n",a,b,c);}}}3、计算并输出200-400之间不能被3整除的整数的和。
void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%3!=0)sum=sum+i;printf("%d\n",sum);}4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
void main(){ int i,n=0,sum=0;int a[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)if(a[i]>=0){ sum=sum+a[i];n++;}printf("非负个数是%d,sum=%d\n",n,sum);}5、求100之内自然数中偶数之和。
void main(){ int i,sum=0;for(i=0;i<=100;i++)if(i%2==0)sum=sum+i;printf("sum=%d\n",sum);}6、输入5个数,求和并输出。
要求编写求和的函数。
计算机二级考试c语言试题及答案
计算机二级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项是合法的标识符?A. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。
答案:42. C语言中,定义一个整型变量的一般形式为_____。
答案:int 变量名;3. C语言中,定义一个实型变量的一般形式为_____。
计算机二级c语言考试真题及答案详解
计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。
计算机二级c语言操作试题及答案
计算机二级c语言操作试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以嵌套定义D. 函数可以递归调用答案:C3. 在C语言中,以下哪个选项是合法的数组声明?A. int a[10];B. int a[2][3];C. int a[2,3];D. int a[];答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:int *p;2. 以下代码段的输出结果是________。
#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:53. C语言中,用于定义一个枚举类型的关键字是________。
答案:enum三、编程题1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("Sum of odd numbers from 1 to 99 is: %d\n", sum); return 0;}```2. 编写一个函数,实现字符串的反转,并在主函数中调用该函数,输出反转后的结果。
#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。
c语言二级考试题及答案
c语言二级考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,正确的是()。
A. C语言是一种高级语言B. C语言是一种低级语言C. C语言是一种面向对象的编程语言D. C语言是一种面向过程的编程语言答案:D2. 在C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于C语言中数组的描述,错误的是()。
A. 数组的索引从0开始B. 数组的索引从1开始C. 数组可以是一维的或多维的D. 数组的元素类型必须相同答案:B4. 在C语言中,用于定义一个函数的关键字是()。
A. structB. functionC. defineD. int答案:D5. 下列关于C语言中指针的描述,错误的是()。
A. 指针可以指向任何类型的变量B. 指针可以指向数组C. 指针可以指向函数D. 指针本身没有类型答案:D6. 在C语言中,用于实现文件操作的库函数是()。
A. math.hB. stdio.hC. string.hD. time.h答案:B7. 下列关于C语言中循环的描述,正确的是()。
A. for循环不能嵌套使用B. while循环不能与do-while循环嵌套使用C. do-while循环至少执行一次循环体D. 循环语句中不能使用break语句答案:C8. 下列关于C语言中条件语句的描述,错误的是()。
A. if语句可以单独使用B. switch语句可以用于多条件分支C. if语句中可以嵌套else ifD. switch语句中不能使用break语句答案:D9. 下列关于C语言中函数的描述,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有多个参数答案:C10. 在C语言中,用于定义一个枚举类型的关键字是()。
A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,标识符可以由字母、数字和下划线组成,但不能以()开头。
(完整word版)历年全国计算机二级C语言题库
50道C语言知识题1.以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出2.下列可用于C语言用户标识符的一组是A)void,define,WORDB)a3_3,_123,CarC)For,-abc,IFCaseD)2a,DO,sizeof3.以下选项中可作为C语言合法常量的是A)-80B)-080C)-8e1.0D)-80.0e4.若有语句:char*line[5];,以下叙述中正确的是A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针5.以下定义语句中正确的是A)inta=b=0;B)charA=65+1,b=′b′;C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1;6.有以下程序段charch;intk;ch=′a′;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=127.有以下程序main(){inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的输出结果是A)409B)277C)1D)918.当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&&c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)9.若变量已正确定义,有以下程序段inta=3,b=5,c=7;A)inta[5]={0,1,2,3,4,5};B)chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)chara={′A′,′B′,′C′};D)inta[5]="0123";21.有以下程序#include<string.h>main(){charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定22.有以下程序#include<stdio.h>#include<string.h>voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]:s[j];s[j]=t;}}main(){char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc23.有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}main(){intz;z=f(3);printf("%d\n",z);}程序的运行结果是A)0B)9C)6D)824.下面程序段的运行结果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));A)67B)0C)字符′C′的地址D)字符′C′25.若有以下定义:structlink。
