c语言期末复习精彩试题附问题详解

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

c语言期末考试试题及答案解析

c语言期末考试试题及答案解析

c语言期末考试试题及答案解析1. 选择题1.1 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A1.2 在C语言中,以下哪个运算符用于计算两个整数的差值?A. +B. -C. *D. /答案:B1.3 以下哪个选项不是C语言中的控制语句?A. ifB. forC. whileD. switch答案:D2. 填空题2.1 定义一个整型变量,可以使用关键字 ________。

答案:int2.2 在C语言中,数组的索引从 ________ 开始。

答案:02.3 以下代码段中,函数 ________ 用于将字符串 s1 复制到 s2。

```cchar *s1 = "Hello";char s2[20];strcpy(s2, s1);```答案:strcpy3. 简答题3.1 解释C语言中指针的概念。

答案:指针是一个变量,它的值是另一个变量的内存地址。

通过指针,程序可以间接访问和操作内存中的数据。

3.2 描述C语言中函数原型的作用。

答案:函数原型用于声明函数的类型、返回值类型、函数名和参数列表,但不包括函数体。

它允许编译器在函数定义之前检查函数调用时的参数类型和数量。

4. 编程题4.1 编写一个C语言程序,计算并输出1到100之间所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```答案解析:此程序使用一个for循环遍历1到100的整数,通过if 语句检查每个数是否为偶数(即i % 2 == 0),如果是,则将其加到变量sum中。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

c语言期末试题及答案及详解

c语言期末试题及答案及详解

c语言期末试题及答案及详解一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. defineB. caseC. functionD. include答案:B2. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 若有以下代码:```cint a = 5, b = 10;a = a + b;b = a - b;a = a - b;```执行后变量a的值是:A. 5B. 10C. 15D. 0答案:B4. 下列关于指针的描述,错误的是:A. 指针可以指向一个变量B. 指针可以指向一个数组C. 指针可以指向一个函数D. 指针不可以指向一个指针答案:D5. 在C语言中,以下哪个函数用于将字符串从源字符串复制到目标字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A6. 下列哪个选项是C语言中合法的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:B7. C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. &&答案:C8. 下列关于函数的描述,正确的是:A. C语言中的函数可以没有返回值B. C语言中的函数可以返回多个值C. C语言中的函数可以重载D. C语言中的函数可以嵌套定义答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D10. 下列关于C语言中循环的描述,错误的是:A. for循环可以嵌套使用B. while循环可以和do-while循环嵌套使用C. do-while循环至少执行一次D. break语句可以跳出循环体答案:B二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

c语言期末复习试题(附答案)

c语言期末复习试题(附答案)

试卷编号:11201所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(2.0分)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A). A:k++B:k+=1C:++kD:k+1第2题(2.0分)已知inti=5,执行语句i+=++i后,i的值是(C).A:10B:11C:12D:A、B、C都不对第3题(2.0分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include<stdio.h>voidmain()/*Beginning*/{intr;floats;scanf("%d",&r);s=p*r*r;printf("s=%f\n",s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(2.0分)"\\\″ABC\″\\″的长度是(B).A:11B:7C:5D:3第5题(2.0分)已知intj,i=1;,执行语句j=–i++;后,j的值是(C).A:1B:2C:-1D:-2第6题(2.0分)有以下程序:#include<stdio.h>voidmain(){ints=0,a=1,n;scanf("%d",&n);do{s+=1;a=a–2;}while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘输入给n的值是(B). A:-1B:-3C:-5D:0第7题(2.0分)执行以下程序后,输出的结果是(D).#include<stdio.h>voidmain(){inty=10;do{y––;}while(––y);printf("%d\n",y––);}A:-1B:1C:8D:0第8题(2.0分)以下循环体的执行次数是(C).#include<stdio.h>voidmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j––)printf("%d\n",i);}A:3B:2C:1D:0第9题(2.0分)有以下程序段:intk=0;while(k=1)k++;while循环执行的次数是(A).A:无限次B:有语法错误,不能执行C:1次也不执行D:执行1次第10题(2.0分)有以下程序#include<stdio.h>voidmain(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A). A:m=123n=456p=789B:m=123n=456p=789C:m=123,n=456,p=789D:123456789第11题(2.0分)设变量已正确定义,以下能正确计算f=n!的程序段是(D)A:f=0;for(i=1;i<=n;i++)f*=i;B:f=1;for(i=1;i<n;i++)f*=i;C:f=1;for(i=n;i>1;i++)f*=i;D:f=1;for(i=n;i>=2;i––)f*=i;第12题(2.0分)在下列程序中,没有构成死循环的程序段是(B).A:inti=100;while(1){i=i%100+1;if(i>100)break;}B:intk=1000;do{++k;}while(k>=10000);C:for(;;);D:ints=36;while(s);--s;第13题(2.0分)有如下程序:#include<stdio.h>voidmain(){intn=9;while(n>6){n--;printf("%d",n);}}该程序段的输出结果是(B).A:987B:876C:8765D:9876第14题(2.0分)以下程序的输出结果是(D).#include<stdio.h>voidmain(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x––,y);}A:10192B:9876C:10990D:101091第15题(2.0分)有如下程序:#include<stdio.h>voidmain(){intn[5]={0,0,0},i,k=2;for(i=0;i<k;i++){printf("%d\n",n[k]);}}该程序的输出结果是(D).A:不确定的值B:2C:1D:0第16题(2.0分)下列程序执行后的输出结果是(A).#include<stdio.h>voidmain(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me"); arr[0][3]='&';printf("%s\n",arr);}A:you&meB:youC:meD:err第17题(2.0分)以下程序的输出结果是(C).#include<stdio.h>voidmain(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2–i]); }A:1,5,9,B:1,4,7,C:3,5,7,D:3,6,9,第18题(2.0分)以下数组定义中不正确的是(D).A:inta[2][3];B:intb[][3]={0,1,2,3};C:intc[100][100]={0};D:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};第19题(2.0分)以下能正确定义数组并正确赋初值的语句是(D). A:intN=5,b[N][N];B:inta[1][2]={{1},{3}};C:intc[2][]={{1,2},{3,4}};D:intd[3][2]={{1,2},{3,4}};第20题(2.0分)有以下程序:inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("d\n",s);}程序运行后的输出结果是(B)A:24B:28C:32D:36第21题(2.0分)以下正确的函数定义形式为(A)A:doublefun(intx,inty)B:doublefun(intx;y)C:doublefun(intx;inty)D:doublefun(intx,y)第22题(2.0分)C语言规定,函数返回值的类型是由(D)A:return语句中的表达式类型所决定的B:调用该函数时的主调函数类型所决定的C:调用该函数时系统临时决定的D:在定义该函数时所指定的函数类型所决定的第23题(2.0分)有以下程序:输出结果是()(注:5353)voidswap1(intc0[],intc1[]){intt;t=c0[0];c0[0]=c1[0];c1[0]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a,a+1);swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]); }A:3553B:5335C:3535D:5353第24题(2.0分)以下程序的输出结果是(A).amovep(int*p,int(*a)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++;}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)malloc(100);amovep(p,a,3);printf("%d%d\n",p[2],p[5]);free(p);}A)56B)25C)34D)程序错误第25题(2.0分)有以下函数:fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a–*b);}该函数的功能是(D).A:计算a和b所指字符串的长度之差B:将b所指字符串复制到a所指字符串中C:将b所指字符串连接到a所指字符串后面D:比较a和b所指字符串的大小第26题(2.0分)有以下程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf("%d\n",fun(str));}程序执行后的输出结果是(B).A:1B:2C:3D:0第27题(2.0分)有以下程序:main(){charstr[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序运行后的输出结果是(B).A:ChinaB:BeijingC:ngD:ing第28题(2.0分)有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4)i2=f(4+4)/f(2+2)printf("%d,%d\n",i1,i2);}程序运行后的输出结果是(C).A:64,28B:4,4C:4,3D:64,64第29题(2.0分)有以下程序:结果是(A)voidchange(intk[]){k[0]=k[5];}main(){intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change(&x[n]);n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A)678910B)13579C)12345D)62345A:678910B:13579C:12345D:62345第30题(2.0分)在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C). A:main()int*p;fun(p);…}intfun(int*p){ints;p=&s;}B:main(){int*p;fun(&p);…}intfun(int**p){ints;*p=&s;}C:#include<stdlib.h>main(){int*p;fun(&p);…}intfun(int**p){*p=(int*)malloc(2);}…D:#include<stdlib.h>main(){int*p;fun(p);…}intfun(int*p){p=(int*)malloc(sizeof(int));}二、程序填空共1题(共计10分)第1题(10.0分)/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 功能:计算平均成绩并统计90分以上人数。

c语言期末试题及答案及详解

c语言期末试题及答案及详解

c语言期末试题及答案及详解本文将提供C语言的期末试题及答案,并对每个问题进行详细解析,旨在帮助读者更好地理解和掌握C语言知识。

每个问题都将以清晰的排版和通顺的语句进行阐述,以确保文章的可读性和表达流畅。

试题一:1. 以下代码段输出的结果是什么?```c#include <stdio.h>int main() {int x = 6 / 2 * (1 + 2);printf("%d", x);return 0;}```答案及详解:输出的结果是9。

这个问题考察了C语言中的运算符优先级。

根据优先级规则,先计算括号内的表达式1 + 2,结果为3。

然后进行乘法运算6 / 2 * 3,结果为9。

最后通过printf函数将结果打印出来。

试题二:2. 以下代码段中存在什么错误,并进行改正。

```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", num1, num2);int sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```答案及详解:代码存在的错误是scanf函数参数传递时变量名未加取地址符&,需要改正为scanf("%d %d", &num1, &num2)。

scanf函数用于从标准输入读取数据,需要通过取地址符&将变量的地址传递给scanf函数,以便将读取的数据存储到相应的变量中。

在给定的代码中,应该在num1和num2前面加上&,即scanf("%d %d", &num1, &num2)。

试题三:3. 下面的代码中,函数fun的返回值是什么?```c#include <stdio.h>int fun(int *arr, int n) {if (n == 0) {return 0;}return (*arr) + fun(arr+1, n-1);}int main() {int arr[] = {1, 2, 3, 4, 5};int sum = fun(arr, 5);printf("数组元素的和为:%d", sum);return 0;}```答案及详解:函数fun的返回值是数组元素的和。

c语言精彩试题1有问题详解

c语言精彩试题1有问题详解

实用文档一、单项选择题(每题2分,15小题,共30分)1.C语言源程序是由组成的。

A) 过程B) 函数C) 子程序D) 主程序和子程序2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是。

A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性3.以下选项中合法的C语言标识符是。

A) long B) _2Test C) 3Dmax D) A.dat4.下列转义字符中错误的是。

A) '\000' B) '\14' C) '\x111' D) '\2'5.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A) 语法错误B) f为5.0 C) f为0.0 D) f为2.06.若变量a,b已经正确定义并赋值,符合C语言语法的表达式是。

A) a2+b B) a*a+b C) a×a+b D) a·a+b7.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是。

A) 132↙B) 1,3,2↙C) a=1b=3c=2↙D) a=1,b=3,c=2↙8.若 w=1,x=2,y=3,z=4,则条件表达式w<x ?w : y<z ?y : z的值是。

A) 4 B) 3 C) 2 D) 19.设int a=0,b=0,m=0,n=0;则执行(m = a==b)||(n = b==a)后m和n的值分别是。

A) 0,0 B) 0,1 C) 1,0 D) 1,110.以下for循环的执行次数是。

for (x=0,y=0; (y=123)&&(x<4);x++) ;A) 无限循环B) 循环次数不定C) 4次D) 3次11.下面程序段的输出结果是。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。

选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。

2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。

选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。

3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。

选项B和D使用了单引号,它们表示单个字符。

选项C的引号没有正确闭合。

4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。

选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。

5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。

选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。

6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。

c语言期末考试题及答案及解析

c语言期末考试题及答案及解析

c语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。

2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。

3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。

4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。

5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。

6. 以下哪个是C语言的位运算符?A. &&B. ||C. &D. All of the above答案:C解析:&是C语言的位运算符之一,用于按位与操作。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案1. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、修改学生信息和删除学生信息。

答案:```c#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[50];float score;} Student;Student students[100];int studentCount = 0;void addStudent(int id, char* name, float score) {if (studentCount < 100) {students[studentCount].id = id;strcpy(students[studentCount].name, name);students[studentCount].score = score;studentCount++;} else {printf("学生信息已满。

\n");}}void queryStudent(int id) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {printf("学生ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生信息。

\n");}void modifyStudent(int id, char* name, float score) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {strcpy(students[i].name, name);students[i].score = score;printf("学生信息已更新。

c语言期末考试题及答案详解

c语言期末考试题及答案详解

c语言期末考试题及答案详解C语言期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言的函数?A. classB. functionC. voidD. int答案:D2. C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A4. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. loop答案:D5. 在C语言中,哪个函数用于将整数转换为字符串?A. atoiB. itoaC. atolD. tolower答案:B6. C语言中,哪个函数用于计算两个数的绝对值?A. fabsB. absC. fmodD. pow答案:B7. 在C语言中,哪个关键字用于声明一个函数的返回类型?A. returnB. typeC. valueD. type_of答案:A8. 下列哪个不是C语言的数组类型?A. intB. charC. floatD. string答案:D9. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. class答案:A10. 在C语言中,哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序至少包含一个________函数。

答案:main2. 定义一个字符数组char str[10],使用________运算符可以给数组赋值。

答案:=3. 在C语言中,使用________关键字可以进行条件判断。

答案:if4. 一个C语言程序在编译时,首先会被预处理器处理,其中________指令用于包含头文件。

答案:#include5. C语言中,使用________函数可以输出格式化的字符串。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

c语言期末试题及答案解析

c语言期末试题及答案解析

c语言期末试题及答案解析一、选择题1. C语言中,以下关键字用于定义常量的是:A. constB. staticC. volatileD. extern答案:A. const2. 下列类型修饰符中,描述符内存大小为8字节的是:A. shortB. longC. intD. char答案:B. long3. 在C语言中,以下关键字用于定义函数的返回类型是:A. voidB. intC. double答案:B. int4. 下列函数原型中,参数个数最多的是:A. int sum()B. void print(char* str)C. double calculate(int a, int b)D. int max(int x, int y, int z)答案:D. int max(int x, int y, int z)二、填空题1. 在C语言中,用于将字符转换为整数的函数是_____________。

答案:atoi2. 利用条件运算符写出以下代码的缩写形式:(a > b) ? a : b。

答案:(a > b)三、编程题1. 编写一个程序,输入一个整数x,输出x的平方和立方。

```c#include <stdio.h>int main() {printf("请输入一个整数:");scanf("%d", &x);int square = x * x;int cube = x * x * x;printf("%d的平方是:%d\n", x, square);printf("%d的立方是:%d\n", x, cube);return 0;}```2. 编写一个程序,输入一个整数n,输出1到n之间所有奇数之和。

```c#include <stdio.h>int main() {int n;printf("请输入一个整数:");scanf("%d", &n);int sum = 0;for (int i = 1; i <= n; i++) {if (i % 2 != 0) {sum += i;}}printf("1到%d之间所有奇数之和为:%d\n", n, sum);return 0;}```四、简答题1. 请简要解释指针在C语言中的作用。

C语言期末考试试题及详细答案

C语言期末考试试题及详细答案

选择练习题1、C 语言中最简单的数据类型包括( B )。

A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型2、C 语言中,运算对象必须是整型数的运算符是(A )。

A 、%B 、/C 、%和/D 、*3、为表示关系x <y <z ,应使用C 语言表达式( A )。

A 、(x <y )&&(y <z )B 、(x <y)AND (y <z)C 、(x <y <z)D 、(x <y ) &(y <z )4、C 语言程序的基本单位是( C ).A 、程序行B 、语句C 、函数D 、字符5、C 语言的程序一行写不下时,可以( D )。

A 、用逗号换行B 、用分号换行C 、用回车符换行D 、在任意一空格处换行6、下述标识符中,( C )是合法的用户标识符。

A 、A &B B 、void C 、_student D 、ab7、在C 语言中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B ).A 、autoB 、externC 、staticD 、Register9、以下关于switch 语句和break 语句的描述中,只有(B )是正确的.A 、在switch 语句中必须使用break 语句B 、在switch 语句中,可以根据需要使用或不使用break 语句C 、break 语句只能用于switch 语句中D 、break 语句是switch 语句的一部分10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。

A 、地址传递B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由用户指定传递方式11、下述C 语言转义符中( D )是非法的。

A 、’\b’B 、'\037'C 、'\0xf 'D 、’\'’12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

c语言期末考试题及详细答案

c语言期末考试题及详细答案

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言中的函数?A. classB. functionC. voidD. int答案:D2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B4. C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B5. 在C语言中,哪个函数用于计算两个整数的乘积?A. powB. sqrtC. absD. multiply答案:D(注意:multiply不是C语言标准库函数,这里假设为题目中的自定义函数)6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. +=答案:A7. C语言中,哪个关键字用于循环结构?A. ifB. forC. whileD. switch答案:B8. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. getsD. puts答案:D9. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. 以上都是答案:D10. C语言中,用于定义一个浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

答案:char2. C语言中,用于定义一个双精度浮点型变量的关键字是________。

答案:double3. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool(或int,取决于编译器)4. C语言中,用于定义一个无返回值函数的关键字是________。

(完整版)C语言试题及答案解析

(完整版)C语言试题及答案解析

C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从 A 。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 523.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~21474836474.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。

A) float B) char C) int D) double5. putchar函数可以向终端输出一个D 。

A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。

A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是 C 。

A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。

c语言期末考试试题及答案

c语言期末考试试题及答案

c语言期末考试试题及答案考试题目一:填空题(共15空)1. C语言是一种_________型的编程语言。

2. 在C语言中,用来表示“或”的运算符是______。

3. 在C语言中,用于定义宏的关键字是______。

4. 函数调用时,参数的传递方式是______传递。

5. 在C语言中,表示真值的关键字是______。

6. 在使用scanf函数读取字符时,可以使用______修饰符。

7. 在C语言中,用于循环控制的关键字是______。

8. C语言中,数据类型的长度由______决定。

9. 在C语言中,用于将浮点数转换为整数的函数是______。

10. C语言中的结构体可以包含不同______类型的成员。

11. 在使用printf函数进行格式化输出时,%d用来输出______类型的数据。

12. 在C语言中,用于断开当前循环并开始下一次循环的关键字是______。

13. 在C语言中,用于定义常量的关键字是______。

14. C语言中,用于定义无符号整型变量的关键字是______。

15. 使用指针变量时,可以通过______操作符获得指针所指向的地址的值。

答案:1. 结构化2. ||3. #define4. 值5. true6. %c7. for8. 编译器9. ceil10. 数据11. 整数12. continue13. const14. unsigned15. *(星号)考试题目二:判断题(共10题)1. C语言是一种面向对象的编程语言。

(×)2. 在C语言中,数组的下标从0开始。

(√)3. C语言中,变量的作用域可以超出其声明的块。

(×)4. 在C语言中,可以通过malloc函数为变量分配动态内存。

(√)5. 在C语言中,switch语句可以用来实现嵌套循环。

(×)6. C语言只支持单继承。

(×)7. 在C语言中,函数可以有多个返回值。

(×)8. C语言中,使用void*类型指针可以指向任意类型的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试卷编号:11201所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(2.0分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ).A:k++B:k+=1C:++kD:k+1第2题(2.0分)已知int i=5,执行语句i+=++i后, i的值是( C).A:10B:11C:12D:A、B、C都不对第3题(2.0分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.#include <stdio.h>void main( )/* Beginning */{ int r; float s;scanf("%d",&r);s=p*r*r; printf("s=%f\n",s);出错的原因是(D ).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(2.0分)"\\\″ABC\″\\″的长度是( B ).A:11B:7C:5D:3第5题(2.0分)已知int j,i=1;,执行语句j=–i++;后,j的值是( C ).A:1B:2C:-1D:-2第6题(2.0分)有以下程序:#include <stdio.h>void main( ){ int s=0, a=1, n;scanf("%d", &n);do{s+=1; a=a–2;}while(a!=n);printf("%d\n", s);}若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1B:-3C:-5D:0第7题(2.0分)执行以下程序后,输出的结果是( D ).#include <stdio.h>void main( ){ int y=10;do{y––;}while(––y);printf("%d\n",y––);}A:-1B:1C:8D:0第8题(2.0分)以下循环体的执行次数是( C ).#include <stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j––)printf("%d\n",i); }A:3B:2C:1D:0第9题(2.0分)有以下程序段:int k=0;while(k=1)k++;while循环执行的次数是(A ).A:无限次B:有语法错误,不能执行C:1次也不执行D:执行1次第10题(2.0分)#include <stdio.h>void main( ){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A ).A:m=123n=456p=789B:m=123 n=456 p=789C:m=123,n=456,p=789D:123 456 789第11题(2.0分)设变量已正确定义,以下能正确计算f=n!的程序段是(D)A:f=0;for(i=1;i<=n;i++) f*=i;B:f=1;for(i=1;i<n;i++) f*=i;C:f=1;for(i=n;i>1;i++) f*=i;D:f=1;for(i=n;i>=2;i––) f*=i;第12题(2.0分)在下列程序中,没有构成死循环的程序段是( B ).A: int i=100;while(1){i=i%100+1;if(i>100) break;}B:int k=1000;do{++k;} while(k>=10000);D:int s=36; while(s); --s;第13题(2.0分)有如下程序:#include <stdio.h>void main( ){ int n=9;while(n>6){ n--;printf("%d",n);}}该程序段的输出结果是( B ). A:987B:876C:8765D:9876第14题(2.0分)以下程序的输出结果是( D ). #include <stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x––,y); }A:10 1 9 2B:9 8 7 6C:10 9 9 0D:10 10 9 1第15题(2.0分)#include<stdio.h>void main( ){ int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++){ printf("%d\n",n[k]);}}该程序的输出结果是( D ).A:不确定的值B:2C:1D:0第16题(2.0分)下列程序执行后的输出结果是( A ).#include<stdio.h>void main( ){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A:you&meB:youC:meD:err第17题(2.0分)以下程序的输出结果是( C ).#include<stdio.h>void main( ){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf("%d,",x[i][2–i]); }A:1,5,9,B:1,4,7,C:3,5,7,D:3,6,9,第18题(2.0分)以下数组定义中不正确的是( D ).A:int a[2][3];B:int b[ ][3]={0,1,2,3};C:int c[100][100]={0};D:int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}};第19题(2.0分)以下能正确定义数组并正确赋初值的语句是(D ). A:int N=5,b[N][N];B:int a[1][2]={{1},{3}};C:int c[2][ ]={{1,2},{3,4}};D:int d[3][2]={{1,2},{3,4}};第20题(2.0分)有以下程序:int a=4;int f(int n){int t=0; static int a=5;if(n%2) { int a=6; t+=a++; }else { int a=7; t+=a++; }return t+a++;}main( ){int s=a,i=0;for( ; i<2; i++) s+=f(i);printf("d\n",s);}程序运行后的输出结果是(B)A:24B:28C:32D:36第21题(2.0分)以下正确的函数定义形式为(A)A:double fun(int x, int y)B:double fun(int x; y)C:double fun(int x; int y)D:double fun(int x, y)第22题(2.0分)C语言规定,函数返回值的类型是由(D)A:return语句中的表达式类型所决定的B:调用该函数时的主调函数类型所决定的C:调用该函数时系统临时决定的D:在定义该函数时所指定的函数类型所决定的第23题(2.0分)有以下程序: 输出结果是() (注:5353)void swap1(int c0[ ], int c1[ ]){ int t ;t=c0[0]; c0[0]=c1[0]; c1[0]=t;}void swap2(int *c0, int *c1){ int t;t=*c0; *c0=*c1; *c1=t;}main( ){ int a[2]={3,5}, b[2]={3,5};swap1(a, a+1); swap2(&b[0], &b[1]);printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]); }A:3 5 5 3B:5 3 3 5C:3 5 3 5D:5 3 5 3第24题(2.0分)以下程序的输出结果是( A ).amovep(int*p, int (*a)[3],int n){ int i, j;for( i=0;i<n;i++)for(j=0;j<n;j++){ *p=a[i][j];p++; }}main( ){ int *p,a[3][3]={{1,3,5},{2,4,6}};p=(int *)malloc(100);amovep(p,a,3);printf("%d %d \n",p[2],p[5]);free(p);}A) 5 6B) 2 5C) 3 4D) 程序错误第25题(2.0分)有以下函数:fun(char *a,char *b){ while((*a!='\0')&&(*b!='\0')&&(*a==*b)) { a++; b++; }return (*a–*b); }该函数的功能是(D ).A:计算a和b所指字符串的长度之差B:将b所指字符串复制到a所指字符串中C:将b所指字符串连接到a所指字符串后面D:比较a和b所指字符串的大小第26题(2.0分)有以下程序:fun(char p[ ][10]){ int n=0,i;for(i=0;i<7;i++)if(p[i][0]== 'T' ) n++;return n;}main( ){ char str[ ][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf("%d\n",fun(str));}程序执行后的输出结果是( B ).A:1B:2C:3D:0第27题(2.0分)有以下程序:main( ){ char str[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序运行后的输出结果是( B ).A:ChinaB:BeijingC:ngD:ing第28题(2.0分)有以下程序:#define f(x) (x*x)main( ){ int i1, i2;i1=f(8)/f(4) i2=f(4+4)/f(2+2)printf("%d,%d\n",i1,i2);}程序运行后的输出结果是( C ).A:64, 28B:4, 4C:4, 3D:64, 64第29题(2.0分)有以下程序: 结果是(A)void change(int k[ ]) { k[0]=k[5]; }main( ){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4) { change(&x[n]); n++; }for(n=0;n<5;n++) printf("%d",x[n]);printf("\n");}A) 678910B) 13579C) 12345D) 62345A:678910B:13579C:12345D:62345第30题(2.0分)在以下程序中,能够通过调用函数fun( ),使main( )函数中的指针变量p指向一个合法的整型单元的是(C ).A:main( )int *p;fun(p);… }int fun(int *p){ int s;p=&s; }B:main( ){ int *p;fun(&p);…}int fun(int **p){ int s;*p=&s; }C:#include <stdlib.h>main( ){ int *p;fun(&p);… }int fun(int **p){ *p=(int*)malloc(2); } …D:#include <stdlib.h>main( ){ int *p;fun(p);… }int fun(int *p){ p=(int*)malloc(sizeof(int)); }二、程序填空共1题(共计10分)第1题(10.0分)/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:计算平均成绩并统计90分以上人数。

相关文档
最新文档