C语言习题集(新版)答案

合集下载

C语言习题及参考答案

C语言习题及参考答案

C语言习题及参考答案C语言习题集习题一一.填空题1.C程序是由(函数)构成的,一个C程序中至少包含(main 函数)。

因此,( 函数) 是C程序的基本单位。

2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。

3.函数体一般包括( 变量声明) 和( 语句) 。

二.判断题1.一个C程序的执行总是从该程序的main函数开始,在main 函数最后结束。

【错】2.main函数必须写在一个C程序的最前面。

【错】3.一个C程序可以包含若干的函数。

【对】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

但是可以增加程序的可读性。

【对】5.C程序的注释只能是一行。

【错】6.C程序的注释不能是中文文字信息。

【错】8.可以使用Visual C++ 6.来编译和连接一个C程序。

【对】9.可以使用Visual C++ 6.来运行一个C程序。

【对】10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。

【对】三.简答题1.写出一个C程序的基本结构。

2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。

四.编程题1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。

(提示:使用键盘上的一些符号)。

2.提高题:试编写一个C程序,输出如下信息。

************************* @ @ ****** @ *************************试试看,可以输出其他组合图案吗?习题二一.选择题1、合法的字符常量是(ACD)。

A)…\t?B) “A” C)…a?D)?\x32?2、合法的字符常量是( D) 。

A)…\084?B) …\84? C)…ab?D)?\x43?3、(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char4、在以下各组标识符中,合法的标识符是((4))。

c语言习题集答案

c语言习题集答案

c语言习题集答案C语言习题集答案在学习C语言编程过程中,习题集是非常重要的一部分。

通过做习题集,可以加深对C语言知识的理解,巩固所学的内容,提高编程能力。

下面将为大家提供一些C语言习题集的答案,希望能够帮助大家更好地学习和掌握C语言编程。

1. 编写一个C程序,输入两个整数,计算并输出它们的和。

```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```2. 编写一个C程序,输入一个整数,判断它是奇数还是偶数,并输出相应的信息。

```c#include <stdio.h>{int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0){printf("%d是偶数\n", num);}else{printf("%d是奇数\n", num);}return 0;}```3. 编写一个C程序,输入一个字符,判断它是大写字母、小写字母还是数字,并输出相应的信息。

```c#include <stdio.h>int main(){printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z'){printf("%c是大写字母\n", ch); }else if (ch >= 'a' && ch <= 'z') {printf("%c是小写字母\n", ch); }else if (ch >= '0' && ch <= '9') {printf("%c是数字\n", ch);}else{printf("%c是其他字符\n", ch); }return 0;}```通过以上几个例子,我们可以看到,C语言习题集涵盖了各种各样的题目,涉及到了C语言编程的各个方面。

c语言习题集及答案

c语言习题集及答案

C语言习题集及答案导言C语言是一门广泛应用于系统开发和嵌入式编程的高级编程语言。

为了帮助学习者更好地掌握C语言的各个方面,提供一系列的习题集是非常有必要的。

本文档将为您提供一些常见的C语言习题,并提供相关的答案和解析。

希望本文档可以帮助您提高C语言的编程技能。

习题集1. 求阶乘编写一个C函数,输入一个正整数n,计算并返回n的阶乘。

int factorial(int n) {if (n == 0) {return1;} else {return n * factorial(n - 1);}}2. 反转字符串编写一个C函数,输入一个字符串,将字符串中的字符反转,并返回反转后的字符串。

void reverse_string(char *str) {int length = strlen(str);int i, j;char temp;for (i = 0, j = length - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}3. 数组排序编写一个C函数,输入一个整型数组,将数组中的元素按升序排序,并返回排序后的数组。

void sort_array(int *arr, int length) {int i, j, temp;for (i = 0; i < length - 1; i++) {for (j = 0; j < length - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}4. 查找最大元素编写一个C函数,输入一个整型数组,找到数组中的最大元素,并返回该元素的值。

int find_max(int *arr, int length) {int i;int max = arr[0];for (i = 1; i < length; i++) {if (arr[i] > max) {max = arr[i];}}return max;}答案解析1. 求阶乘递归是一种简洁的解决阶乘问题的方法。

c语言习题集及答案

c语言习题集及答案

计算机系统概述一、简答题1.什么是计算机系统?包括哪几部分?答:计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行交互;计算机系统包括硬件、软件和它们管理的数据。

3.简述计算机软件各个时代的主要特征。

答:第一代机器语言编写,第二代高级语言编写,第三代出现操作系统,第四代出现结构程序设计,第五代出现面向对象的程序设计语言。

4.计算机是如何分类的?答:按工作原理和运算方式分为数字电子计算机(Digital Computer)、模拟电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer);按设计目的分为通用计算机和专用计算机;按用途科学计算、工程计算机用的计算机、工业控制用的计算机和数据处理用的计算机;按规模和性能分为巨型机、大型机、小型机、微型机、工作站、服务器、网络计算机和嵌入式计算机等。

5.计算机具有哪些特点?答:运算速度快、精度高;具有逻辑判断功能;具有记忆功能;自动化程度高、通用性强。

6.衡量计算机性能的指标有哪些?答:从几个方面衡量,衡量cpu的指标有字长、时钟周期和主频,衡量内存的指标有内存容量、存取周期,衡量外设的指标有输入输出最高频率。

7.简述计算机主要应用在哪些方面。

答:科学计算、信息传输和信息处理、实时控制、辅助功能(设计/制造/教学)、艺术和娱乐。

8.简述计算机系统抽象分层,及每一层的功能。

答:主要分为七层,信息表示层反映了在计算机上表示信息的方式,它是一个纯概念层;硬件层探讨计算机系统的物理硬件组成;程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据;操作系统层用来管理计算机的各种资源,提供人与计算机交互的接口;网络通信层是计算机系统运行的基础,计算机连接到网络上共享信息和资源;应用软件层的重点则是将计算机与一个实际应用领域相结合。

计算机中的信息表示一. 判断题1.二进制数在计算中很重要,因为二进制数可以被转换成以任何数为基数的数。

C语言习题集(含答案)

C语言习题集(含答案)

一、单选题:(1)在C语言提供的合法的关键字是( )A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)’\084’ B) ’\x43’C)’ab’D) "\0”(3)若有定义和语句:char s[10]: s="abcd”;printf(”%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p,a=10, b=20;pp=&p;p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10,20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n”,u, v, w);则输出结果是()A) 8,16,10B)10,10,10 C)8,8,10 D) 8,10,10 (6) 若有以下定义和语句char c1=' b', c2='e’;printf(”%d,%c\n", c2-c1,c2—'a’+”A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7)若有以下定义:char s[20]=”programming”,*ps=s;则不能代表字符o的表达式是( )A)ps+2 B) s[2]C) ps[2]D) ps+=2,*ps(8)若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是() for (i=5; i; i—-)for(j=0;j<4; j++){。

}A) 20B) 25 C)24 D) 30(9)若有以下定义和语句:char *s1=”12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()A)4B)5 C)9 D)10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是()A) *p B) a[10]C)*a D)a[p-a](11)下面程序的输出是()main(){char *s=”121";int k=0,a=0,b=0;do{k++;if(k%2==0) {a=a+s[k]—’0’;continue;}b=b+s[k]—’0';a=a+s[k]—'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C)k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main(){ unsigned a=32768;printf("a=%d\n”,a);}运行结果: —32768A)a=—32768 B)a=32767C)a=-32767 D)a=—1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){case1.0:printf("*\n”);{case1, 2:printf(”*\n”);case2。

程序设计语言C_习题集(含答案)

程序设计语言C_习题集(含答案)

《程序设计语言C》课程习题集一、单选题1.在C语言中,合法的长整型常数是A) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是main(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段int m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 12016.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是A)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是A)3 B)0C)-12 D)924.若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是A)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是A)5 B)6 C)7 D)928.下面程序的输出结果是#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是A)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是typedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是A)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述A)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是A)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是Main( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环int k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为#include<stdio.h>Main(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;break;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break;Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为#include<stdio.h>fun(int x,int y,int *cp,int *dp){*cp=x+y;*dp=x-y;}main(){ int a,b,c,d ;a=30 ;b=50;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}A)50,30 B)30,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ).A)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是A)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是A)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()A)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是A){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是A)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是A)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围A)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。

C语言习题集(含答案).

C语言习题集(含答案).

一、单选题:(1) 在C语言提供的合法的关键字是()A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)'\084' B) '\x43'C)'ab' D) "\0"(3)若有定义和语句:char s[10]: s="abcd"; printf("%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p, a=10, b=20;pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10, 20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010, v=0x10,w=10;printf("%d,%d,%d\n", u, v, w);则输出结果是( )A) 8,16,10B) 10,10,10 C)8, 8,10 D) 8,10,10(6) 若有以下定义和语句char c1=' b', c2='e';printf("%d,%c\n", c2-c1,c2-'a'+"A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7) 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是( )A) ps+2 B) s[2] C) ps[2] D) ps+=2,*ps(8) 若i, j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )for (i=5; i; i--)for(j=0; j<4; j++) {...}A) 20B) 25 C) 24 D) 30(9)若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是( )A) 4B) 5 C) 9 D) 10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )A) *p B) a[10]C)*a D) a[p-a](11)下面程序的输出是( )main( ){ char *s="121";int k=0, a=0, b=0;do{k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0'; a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C) k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main( ){ unsigned a=32768;printf("a=%d\n", a);} 运行结果:-32768A)a=-32768 B)a=32767C)a=-32767 D)a=-1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){ case1.0: printf("*\n"); { case1, 2: printf("*\n");case2.0: printf("**\n"); case3: printf("**\n");} }C) switch (a+b)D) switch (a+b);{ case 1: printf("\n"); { case 1: printf("*\n");case 1+2: printf("**\n"); case 2: printf("**\n");} }(14) 以下程序输出的结果是( )main( ){ char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"}, k;for (k=1;k<3;k++)printf("%s\n",&w[k][k]);}A) ABCD B) ABCDFGH EFGKL IJMC) EFG D) FGHJK KLO(15)若数组名作实参而指针变量作形参,函数调用实参传给形参的是( )A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是( )A) %=B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )A) 1 B) 2 C) 2.0 D) 2.5(19) 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( )A) 0 B) 0.5 C) 1 D) 2(21) 有如下程序main( ){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( )A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )A) a>=10 or a<=0 B) a>=0|a<=10C) a>=10 &&a<=0 D) a>=10 || a<=0main( ){ int x=1, a=0, b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++; b++; }printf(“a=%d,b=%d\n”,a,b); }该程序的输出结果是( )A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main( ){ float x=2.0, y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y); }该程序的输出结果是( )A) 0.000000 B) 0.250000 C) 0.500000D) 1.000000(26) 有如下程序main( ){ int i, sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是( )A) 6 B) 3 C) 死循环D) 0main ( ){ int x=23;do{ printf(“%d”,x--);} while(!x); }该程序的执行结果是( )A) 321 B) 23C) 不输出任何内容D) 陷入死循环(28) 有如下程序main( ){ int n=9;while(n>6) {n--; printf(“%d”,n); } }该程序段的输出结果是( )A) 987 B) 876C) 8765 D) 9876(29) 设有说明语句:char a=’\72’;则变量a( )A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int func(int a,int b){ return(a+b); }main( ){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r); }该程序的输出的结果是( )A) 12 B) 13 C) 14 D) 15int *p, a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是( )A) < B) = C) + D) -(34) 有如下程序long fib(int n){ if (n>2) return(fib(n-1)+fib(n-2));else return(2);}main( ){ printf(“%d\n”, fib(3)); }该程序的输出结果是( )A) 2 B) 4 C) 6 D) 8(35) 在C语言中,函数的隐含存储类别是( )A) auto B) static C) extern D) 无存储类别(36) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main( ){ int i;for(i=1;i<=NUM;i++) printf(“%d\n”,i);}该程序中的for循环执行的次数是( )A) 5 B) 6C) 7 D) 8char fun(char *p){ return p; }该函数的返回值是( )A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(38) 有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为( )A) true B) false C) 0 D) 1(39) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;则数值为9的表达式是( )A) *p+9 B) *(p+8) C) *p+=9 D) p+8(40) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( )A) &t[3][2] B) t[3] C) t[1] D) t[2](41) 有如下程序main( ){ char ch[2][5]={“6937”,”8254”}, *p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’; j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s); }该程序的输出结果是( )A) 69825 B) 63825 C) 6385 D) 693825(42)若有以下的定义:int a[ ]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表式是( )A) p+=2, *(p++) B) p+=2,*++pC) p+=3, *p++ D) p+=2,++*p(43)假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0; x=35;if (!a) x--;else if(b) ; if(c) x=3; else x=4;A)34 B)4 C)35 D)3(44)在以下一组运算符中,优先级最高的运算符是( )A)<= B)= C)%D)&&(45)若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w;则对w数组元素非法引用是( )A)*(w[0]+2) =*w[0][2]B)*(pw+1)[2]C)pw[0][0] =*w[0][0]D)*(pw[1]+2) =*w[1][2](46)若有以下程序片段:char str[ ]="ab\n\012\\\"";printf("%d\n", strlen(str));上面程序片段的输出结果是( )A)3 B)4 C)6D)12(47)函数调用strcat(strcpy(str1,str2),str3)的功能是( )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(48)以下对C语言函数的有关描述中,正确的是( )A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用解释:C函数可以递归调用,但不允许嵌套定义C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中(49) 以下叙述中不正确的是( )A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.B) 在C中,调用函数时,实在参数和对应形参在类型上只需赋值兼容.C) 在C中, 外部变量的隐含类别是自动存储类别.D)在C中, 函数形参可以说明为register变量.(50) 以下程序的输出结果是( )#define sub1(char a, char b) {char c; c=a;a=b;b=c;}#define sub2(char *a, char b) {char c; c=*a;*a=b;b=c;}#define sub3(char *a, char *b) {char c; c=*a;*a=*b;*b=c;}main( ){ char a,b;a='A';b='B';sub3(&a,&b);putchar(a); putchar(b);a='A';b='B';sub2(&a,b);putchar(a); putchar(b);a='A';b='B';sub1(a,b);putchar(a);putchar(b);}A) BABBAB B) ABBBBAC) BABABA D) BAABBA(51)错误的转义字符是( )A) '\091'B) '\\' C) '\0' D) '\''(52)设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b 和c的值分别是( )A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3(53) 在C语言中,错误的常数是( )A) 1E+0.0B) 5 C) 0xaf D) 0L( 54) 设int k; 则语句for(k=0; k=1; k++);和语句for(k=0; k==1;k++);执行的次数分别是( )A) 无限和0B) 0和无限C) 都是无限D) 都是0(55)某文件中定义的静态全局变量(或称静态外部变量)其作用域是( )A) 只限某个函数B) 本文件C) 跨文件D)不限制作用域二、程序填空题:(10) 函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)现在请你在下面的函数中填空,完成求π的功能。

C语言习题集参考答案

C语言习题集参考答案

第一章C语言概述一.选择题1.一个C程序的执行是从。

A.程序的main函数开始,到main函数结束B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。

A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。

A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面二.填空题1.C源程序的基本单位是函数。

2.一个C源程序中至少应包括一个主函数或main函数。

3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/ 。

第二章数据的存储与运算一.选择题1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32)A.4 B.16 C.32 D.482.下面正确的字符常量是。

A.”c” B.’\\’’C.’W’ D.’’3.下面不正确的字符串常量是。

A.’abc’ B.”12’12” C.”0” D.” “4.以下正确的叙述是。

A.在C程序中,每行中只能写一条语句B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为。

A.D B.68 C.不确定的值 D.C6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。

C语言全部章节习题集(参考答案)

C语言全部章节习题集(参考答案)
}
选择结构答案
一、单项选择题
1.B 2.A 3.D 4.C 5.D 6.B 7.C
二、填空题
1. 5 5 4
5 5 4
3 3 4
2. 4 0
3. VeryGood
Good
VeryGood
A. 8 B. 4 C. 2 D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。
A. 4 B. 3 C. 2 D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。
{ float a,b,temp;
printf("input a and b:");
scanf("%d,%d",&a ,&b);
temp = a; a = b; b = temp;
printf("a=%d , b=%d\n", a , b);
scanf(“%f”,&t);
if(t>=90) ch=’A’;
else if(t>=80) ch=’B’;
24、下列不正确的转义字符是( C )。
A. \\ B. \' C. 074 D. \0
二、填空题:
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

C语言程序设计习题集及参考答案

C语言程序设计习题集及参考答案

C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。

在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。

本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。

二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。

(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。

3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。

(2) 编写一个程序,判断一个整数是否为素数。

如果是素数,输出"Yes",否则输出"No"。

(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。

三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。

(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。

选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。

选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。

因此,答案为B。

(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。

C语言习题全集 答案

C语言习题全集 答案

目录第一单元程序设计和C语言.................................................... 错误!未定义书签。

第二单元顺序程序设计............................................................ 错误!未定义书签。

第三单元分支程序设计............................................................ 错误!未定义书签。

第四单元循环程序设计............................................................ 错误!未定义书签。

第五单元数组........................................................................ 错误!未定义书签。

第六单元函数........................................................................ 错误!未定义书签。

第七单元指针........................................................................ 错误!未定义书签。

第八单元结构体和共用体........................................................ 错误!未定义书签。

第九单元文件........................................................................ 错误!未定义书签。

附加题............................................................................................ 错误!未定义书签。

(完整版)C语言程序设计习题集及答案

(完整版)C语言程序设计习题集及答案

C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

C语言习题集参考答案

C语言习题集参考答案

C语言习题集一、程序设计基本概念1、以下叙述正确的是:__B__。

A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C语言中的函数不可以单独进行编译。

2、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_B _。

A)有0个或多个输入。

B)有0个或多个输出。

C)有穷性。

D)可行性。

3、以下叙述中正确的是___C__。

A)C语言比其它语言高级。

B)C语言可以不用编译就能被计算机识别执行。

C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。

D)C语言出现的,具有其它语言的一切优点。

4、C语言中用于结构化程序设计的3种基本结构是__A__。

A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。

A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。

A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。

A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。

A)计算机语言中,只有机器语言属于低级语言。

B)高级语言源程序可以被计算机直接执行。

C)C语言属于高级语言。

D)机器语言是所用机器无关的。

二、C程序设计初步1、以下4个用户定义标识符中,全部合法的一组是__A__。

A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _0012、以下不能定义为用户标识符的是_D__。

A)scanf B)Void C)_3com D)int3、以下符合C语言语法的实型常量是__C__。

C语言习题册答案集

C语言习题册答案集

第1章绪论一、选择题1~5 CABCD 6~10 BDCBC 11~15 AADCC二、程序填空题1、一个C语言程序是由函数组成的。

2、C源程序的后缀名为3、在C程序中,main()函数最多有 1 个。

4、一个C语言程序总是从主函数/main( ) 开始执行。

5、在C语言里输入是由scanf 函数实现,输出是由printf 函数实现。

6、C语言中,当复合语句多于一条时,要求有一对{ } 括号。

7、一个C源程序必须经过_ 编译__和_链接__生成exe文件才能运行8、在一个C程序中注释部分两侧的分界符分别为_/*_____和_*/___9、编写计算机所程序所使用的语言称为__程序设计语言______。

10、程序设计语言的发展经历了三个阶段__机器语言__、_汇编语言_和__高级语言__第2章基本数据类型及顺序结构程序设计一、选择题01~05 ACDDA 06~10 ACAAC 11~15 BDBBC16~20 DABAA 21~25 DBDAA 26~30 ADDCB31~35 BDCAB二、程序填空题1、__基本数据类型、_构造类型___ 和___其它类型_______。

2、 4 、 4 、8 、 1 。

3、double4、x<-5||x>5或abs(x)>55、y%2==1 或y%2!=06、x%3==0&&x%7==0或x%21==0 ,7、10 ,10 。

8、printf(“****a=%d, b=%d****”,a,b) 。

9、a:b ; c:t1 ;10、x%10 , x/10%10 ;三、程序阅读题1、G 。

2、2, 1 。

3、0 。

4、16 。

5、2,50 。

6、b 。

7、3 。

8、10,20,0 。

9、2, 。

10、67, e 。

第3章分支结构一、选择题01-05:DCBCD 06-10:CBBBC 11-15:CBBDB16-20:ACDAA 21-25:CADBC 26-30:CBBAD二、程序阅读题(共10题)1、20,0 。

新版谭浩强C语言新版习题答案

新版谭浩强C语言新版习题答案

谭浩强C语言新版习题答案第一章一、单项选择题①②①③②④④二、填充题 1、机器的、问题的2 、源、解释、编译、目标3、“\”4、常量、变量、运算符、函数调用、表达式、保留字5、数据定义语句、赋值语句、函数调用语句、表达式语句、流程控制语句、复合语句、空语句、其它语句6、1、主、主7、/*、*/ >第二章一、单项选择题②①②①①③③③②④③①①③④①③④④③④④②④二、填充题1、2、12、非零、零、1、03、#define 符号常量常量5、unsigned int、double、char6、存储类别数据类型变量=初值7、++、&&8、9、1、010、111、12、①5 ②5 ③213、x>20&&x<30||x<-10014、a/(b*c)15、算术、关系、逻辑、赋值、逗号、条件第三章一、单项选择题②③②④③①②③②①①④③④②二、填充题1、顺序、循环2、###a=2b,b=13,c=193、if(a < = b){x=1;printf("###x=%d\n",x);}{y=2;printf("***y=%d\n",y);}4、(x%i= =0)三、程序分析题1、10,4,32、-13、852四、程序设计题1、#include ""void main(){float F,C;printf("请输入华氏温度:");scanf("%f",&F);C=5*(F-32)/9;printf("相应的摄氏温度是:%f\n",C);}2、编一个程序,输入一个整数,输出其符号(若≥0,输出1;若<0,输出-1)。

#include ""void main()int num,sign;scanf("%d",&num);if(num>=0)sign=1;elsesign=-1;printf("%d\n",sign);}3、#include ""void main(){float x,y;printf("请输入x的值:"); scanf("%f",&x);if(x < = 1) y=x;else if(x<10) y=2*x-1;else y=3*x-11;printf("y的值是:%f\n",y); }#include ""void main(){float a,b,c,min;scanf("%f,%f,%f",&a,&b,&c);min=a < b?a:b;min=min < c?min:c;printf("这三个数的最小数是:%f\n",min);}5、编一个程序,求出所有各位数字的立方和等于1099的3位整数。

C语言基础练习题(含答案)新教材.doc

C语言基础练习题(含答案)新教材.doc

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。

掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。

为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。

1. 输入输出问题描述:编程实现一个简单的输入输出程序。

要求从标准输入读入一个整数,然后输出该整数,并换行。

解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。

如果是偶数,则输出"Even",否则输出"Odd"。

解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。

解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。

C语言习题集答案(最新)

C语言习题集答案(最新)
prinft(“%d+%f=%f”,m,x,y);
3、float av;
scanf(“%d%d%d”,&x,&y,&z);
(x+y+z)/3.0
四、阅读程序,写程序结果
1、3 3
2、1
3、ch=a,m=68,x=25.6
4、z=21.000000
5、x=4 y=9
五、把下面的数学表达式改写成C语言表达式
15、10, 6
16、5.5
17、1
18、0
二、选择题
1~5、BBBCD 6~10、BCCBD 11~15、AACBD 16~18、DAA
三、程序填空
1、float x,y
&x,&y
y=x+y;
x=y-x;
2、scanf(“%d%f”,&m,&x);
prinft(“%d+%f=%f”,m,x,y);
7、char hc,mc,lc;
8、#define AY 2012
9、12
10、8
11、自增自减、算术、赋值、逗号
12、字母或下划线
13、十进制小数,指数
14、逻辑
15、6, 5
16、9
21、函数
22、main函数
23、分号
24、花括号
二、选择题
1~5、AAABC 6~10、ACBAD 11~12、DC
5、括号
6、1.9,新来旧去
7、变量x的值,表达式的值
8、括号、自增自减、算术、关系、逻辑、赋值、逗号
9、用运算符把操作数连接起来,相同的类型,自动转换,强制转换
10、变量,变量的值,逗号,最右边表达式的值

C语言-习题集参考答案全部

C语言-习题集参考答案全部

目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。

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

第一单元程序设计和C语言一、选择题1. A2. B3. C4. C5. D6. A7. C8. D9. A 10. D 11. A12. D 13. BC 14.. B 15. B二、填空1.函数首部、函数体2.主函数、main函数3.04.赋值、逗号、18、18、18、35.浮点型、指数型6.逗号第二单元顺序程序设计一、选择题1. C2. A3. A4. D5. C6. C7. C二、读程序写结果1.172.20803.X=3.600000,i=34.2,05.X=2,y=%d6.6,0,6,1027.2,12,2三、填空1.字符整数2.左右3.格式说明普通字符4.(1) float area,girth;(2) l*w(3) 2*(l+w)(4) printf(“area=%f,girth=%f\n”,area,girth);5.(1) #include “stdio.h”(2) int n(3) getchar()(4) c-…0‟或者c-48(5) “%c,%d\n”第三单元分支程序设计一、选择题1. C2.EB3. D4. C5. D6. C7. D8. C二、读程序写结果1.1,0,32.2003.014.1 7 05.It is B. It is C.other.6.a=2,b=1三、填空1.02.13.(1) y=2*x+3(2)else if(x==0)(3)else4.(1) #include “math.h”(2) float a,b,c,s,s1(3) (a+b>c)&&(b+c>a)&&(c+a>b)(4) sqrt(s1)(5) else5.(1) b!=0(2) c!=0(3) d>=0(4) (2*a)(5) (2*a)(6) pi=sqrt(-d)/(2*a)6.(1) switch(c)(2) break(3) break(4) default第四单元循环程序设计一、选择题1.D2.A .3.B .4.C5.A6.D二、读程序写结果1.1232.i=0,s=1i=1,s=4i=2,s=9i=3,s=163.m=4m=10m=22m=46m=944.(1) quert(2) rvfsu(3) quert?5.<><><>#6.a=57.2 5 8 11 148.(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3),9.************************************10.11 13 17 19 23 29 三、填空1.switch、循环2.(1)s=0(2)i=i+23.(1) x<=9(2) y<=9(3) z=0(4) z<=9(5) x*100+y*10+z4.(1) n(2) Tn+a(3) Sn+Tn(4) count++5.(1) 10(2) Sn+hn*2(3) hn/26.(1) 3(2) 2*i(3) printf(“\n”);(4) i(5) 4-2*i7.(1) station(2) i+1(3) total+2第五单元数组一、选择题1. C2. D3. D4. A5. C6. D7. A二、读程序写结果1. 1 0 2 2 5 7 13 20 2. 2.20 3.30 4.40 5.50 6.60 1.103.k=244.sum=65.1 02 1 03 2 1 06.-57.“BBB”8.没有输入数据三、填空1.类型2.(1) int i,p(2) p=i(3) printf(“%d\n”,p);3.(1) #include “math.h”(2) a[i]/20(3) s=fabs(a[i]-pjz);(4) printf(“%f,%f\n”,pjz,t);4.(1) x<4(2) y<3(3) z==35.(1) N/2(2) a[N-1-k](3) a[N-1-k](4) k<N6.(1) str[i]!=‟\0‟(2) k(3) k7.(1) s[i](2) s[i],str8.(1) i*3+j*5(2) break(3) s!=a[k](4) k<n9.(1) &a[i][j](2) printf(“\n”)(3) a[i][0](4) a[k][j]<max(5) i,j,a[i][j]第六单元函数一、选择题1. A2. A3. A4. B5. D6. B7. B8.C9.B 10.C 11.B 12.B 13 .A二、读程序写结果1.The final result is:42.1253.94.0,00,25.8, 176.5 67.318.579.2 610.1511.4三、填空1.(1) i<m(2) pp=0;(3) sum+prime(a[i]);2.(1) strlen(str);(2) str[i]>=‟A‟ && str[i]<=‟Z‟ || str[i]>=‟a‟ && str[i]<=‟z‟(3) str[i]>=‟0‟ && str[i]<=‟9‟(4) str[i]= =‟‟3.(1) pn(x,n);(2) 1;(3) x;(4) ((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n;4. x第七单元指针一、选择题1、 C2、 D3、 D对如下定义,以下说法中正确的是。

char *a[2]={ "abcd","ABCD"};A. 数组a的元素值分别为"abcd"和"ABCD"B. a是指针变量,它指向含有两个数组元素的字符型数组C. 数组a的两个元素分别存放的是含有4个字符的一维数组的首地址D. 数组a的两个元素中各自存放了字符’a’、’A’的地址4、 Dchar *s="\t\\Name\\Address\n";指针s所指字符串的长度为:。

A. 说明不合法B. 19C. 18D. 155、 D6、 C7、 D8、 A9、 B10、D若有以下定义和语句:double r=99 , *p=&r ;*p=r ;则以下正确的叙述是。

A. 以上两处的*p 含义相同,都说明给指针变量p 赋值B. 在"double r=99,*p=&r;"中,把r 的地址赋值给了p 所指的存储单元C. 语句"*p=r;"把变量r 的值赋给指针变量pD. 语句"*p=r;"取变量r 的值放回r 中11、D12、A13、C14、C15、C16、B17、A18、B19、B20、B21、B (与18题同了)22、B23、D24、B25、B26、C能正确进行字符串赋值操作的语句是。

(去掉“不”)A. char st[5]={"ABCDE"};B. char s[5]={'A','B','C','D','E'};C. char *s; s="ABCDE";D. char *s; scanf("%s",s);27、A28、A29、C30、C31、A32、B34、D (与第3题重复了)35、C36、B二、读程序题,写出程序运行的结果。

1、8,55,82、7,13、y=194、155、266、3,7,37、1 3 52 4 68、BCDCDD9、410、711、abc+abc=defdef12、2413、17000815、CEG16、BABBAB17、GFEDCB18、26 (与第5题相同了)19、0020、12021、991122、000023、3574524、567890123425、7 126、627、-5,-12,-7三、填空题1.(1) *max=i(2) *min=i(3) a,&max,&min2.(1) (p1+i)==(p2+i)(2) return(0);(3) (p1+i)-(p2+i)(4) str1;(5) str2;3.(1) *(psco+5*i+j)(2) average(3) *(psco+5*i)(4) sum/4(5) *(psco+5*i+j)<60(6) *(psco+5*i+k)(7) *(pave+i)(8) *(psco+5*i+k)4.(1) str[i]!=’0’(2) e10*10(3) digit+(*(pstr+i-1-m)-48)*e10(4) ndigit++;第八单元结构体和共用体一、选择题1、A2、A3、C4、A5、D6、D7、B8、C9、C10、B11、B12、C13、B14、C15、B16、C若要使P 指向data 中的a 域,正确的赋值语句是。

(P改成小写p)二、读程序题,写出程序运行的结果。

1、 62、 Zhao3、 045154、 51, 60, 215、 06、 270.007、 408、 80三、填空题1.先声明结构体类型再定义变量、在声明类型的同时定义变量、直接定义结构体类型变量2.(1) x.re+y.re(2) x.im+y.im(3) x.re*y.re-x.im*y.im3.(1) struct student(2) b[i].total=0(3) b[i].total+b[I].score[j](4) b[i].ave=b[i].total/3(5) float s1,s1,s24.(1) struct student *b(2) i=0;i<n;i++,b++(3) b->total=0(4) b->total+b->score[j](5) p=a(6) p=a;p<a+3;p++5.(1) float amax,s0(2) p=stu;p<stu+4;p++(3) amax=stu[0].ave,i=1(4) p=stu+temp6.(1) static struct student(2) p[i]=&stu[i](3) p[j]->score>p[i]->score(4) i=0;i<4;i++7.(1) days(today)(2) yearday%5(3) else(4) return8.(1) struct student(2) struct student(3) n++(4) struct student9.(1) p1=p1->next(2) p2=p2->next(3) p1=head1(4) p2=head2(5) p1=p1->next10.(1) struct line(2) p2->next=p1(3) p2->next=NULL(4) newhead。

相关文档
最新文档