当前位置:文档之家› C语言程序设计第6章部分习题

C语言程序设计第6章部分习题

C语言程序设计第6章部分习题
C语言程序设计第6章部分习题

(1)A

(2)A

(3)B、C

(4)D

(1)5

(2)8

#include

void swap(int *p1,int *p2)

{

int *p; int i;

p=p1;p1=p2;p2=p; i=*p1;*p1=*p2,*p2=i; }

int main(void)

{

int a,b,*pt1,*pt2;

scanf(“%d, %d”,&a,&b);

pt1=&a;pt2=&b;

if(a

printf(“%d, %d\n”,*pt1,*pt2);

return 0;

}

6.5

(1)

#include

int main(void)

{

int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

printf("%d,%d\n",*p+2,*(p+2));

return 0;

}

结果:2,2

(2)

#include

int main(void)

{

int i;

int a[10],*p=a;

for(i=0;i<10;i++)*p++=2*i;

for(i=0;i<10;i++)printf("%d ",a[i]); printf("\n");

return 0;

}

结果:024681012141618 (3)

#include

int main(void)

{

int a[5]={0,1,2,3,4},*p;

p=&a[3];

printf("%d\n",*--p);

return 0;

}

结果:2

(4)

#include

int main(void)

{

int a[5]={1,3,5,7,9},*p,**k;

p=a;k=&p;

printf("%d,",*(p++));

printf("%d,",**k);

return 0;

}

结果:1,3,

(5)

#include

int main(void)

{

static int a[]={1,3,5};

int s,i,*p=NULL;

s=1;p=a;

for(i=0;i<3;i++) s*=*(p+i);

printf("%d\n",s);

return 0;

}

结果:15

(6)

#include

int main(void)

{

static int a[]={1,2,3,4,5};

int *p=NULL;

p=a;

printf("%d,",*p);

printf("%d,",*(++p));

printf("%d,",*++p);

printf("%d,",*(p--));

printf("%d,",++(*p));

return 0;

}

结果:1,2,3,3,3

(7)

#include

int a[5]={1,2,3,4,5};

int *p[5]={a,a+1,a+2,a+3,a+4};

int **pp=p;

int main(void)

{

pp++;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

*pp++;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

*++pp;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

++*pp;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

pp=p;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

**pp++;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

*++*pp;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

++**pp;

printf("%d, %d, %d\n",pp-p,*pp-a,**pp);

return 0;

}

结果:1,1,2

2,2,3

3,3,4

3,4,5

0,0,1

1,1,2

1,2,3

1,2,4

(8)

#include

#include

int main()

{

char a[]="abcdefgh";

char *pc=&a[8];

while(--pc>=a)putchar(*pc);

putchar('\n');

return 0;

}

结果:hgfedcba

(9)

#include

#define N 2

#define M 5

int main()

{

char c[N][M]={"1357","2468"},*p[2];

int i=0,j=0,k=0;

for(i=0;i

for(i=0;i

for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)

{

printf("%d, %d\n",i,j);

k=10*k+p[i][j]-'0';

printf("%d\n",k);

}

return 0;

}

结果:1526

(10)

#include

#define N 3

#define M 4

int main()

{

int a[N][M]={1,3,5,7,9,11,13,15,17,19,21,23};

int (*p)[M]=a,i,j,k=0;

for(i=0;i

for(j=0;j

printf("%d",k+(*(*p+1)+j));

return 0;

}

结果:343434

(11)

#include

int main()

{

char *c[]={"ENTER","NEW","POINT","FIRST"};

char **pc[]={c+3,c+2,c+1,c};

char ***ppc=pc;

printf("%s\n",**++ppc);

printf("%s\n",*--*++ppc+3);

printf("%s\n",*ppc[-2]+3);

printf("%s\n",ppc[-1][-1]+1);

return 0;

}

结果:9523

6.6

(1)

#include

int main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10},i;

for(i=0;i<10;i++)

printf("%d ",a[i]);

return 0;

}

#include

int main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10},I,*p;

p=a;

for(i=0;i<10;i++)

printf("%d ",*p++);

return 0;

}

(2)可以

6.7

#include"stdio.h"

void swap(int*,int*);

void main()

{

int si,li,j,k,a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

printf("please input start loation:");

scanf("%d",&si);

printf("please input number:");

scanf("%d",&li);

printf("%d, %d\n",si,li);

k=li;

for(j=0;j<20;j++)

{

if(j>=si-1&&j<=si-1+li/2-1)

{

swap(&a[j],&a[j+k]);

k--;

k--;

}

printf("%4d",a[j]);

}

}

void swap(int *x,int *y)

{

int temp;

temp=*x;

*x=*y;

*y=temp;

}

6.9

(1),a, a+2=a[2], &a[0]=a, a[0]+3=&a[0][3], *(a+1)=*a[1]=a[1][0], *(a+2)+1=a[2][1], *(a[1]+2)=a[1][2],

&a[0][2]=a[0]+2, *(a[0][2])=?, *(*(a+2)+1)=a[2][1]=23, a[1][3]=15

(2)a+1,&a[1][0],相等,二级指针,一级指针

6.10

#include

void main()

{

void maxval( int arr[][4],int m,int n);

int array[3][4],i,j,l,c;

printf("input lines of array:");

scanf(%d",&l);

printf("input column of array:");

scanf("%d",&c);

printf("input data use comma between data\n");

for(i=0;i<1;i++)

for(j=0;j

scanf("%d",&array[i][j]);

printf("\n");

for(i=0;i<1;i++)

{

for(j=0;j

printf("%5d",array[i][j]);

printf("\n");

}

maxval(array,l,c);

}

void maxval( int arr[][4],int m,int n)

{

int i,j,max,line=0,col=0;

int(*p)[4];

max=arr[0][0];

p=arr;

for(i=0;i

for(j=0;j

if(max<*(*(p+i)+j))

{ max=*(*(p+i)+j);

line=i;

col=j;

}

printf("the maximum value is %d",max);

printf(" the line is:%d,line);

printf(" the column is :%d\n",col);

}

6.11(略)

6.13指出下面程序中的错误,并分析出错的原因。#include

void Print(char *[],int len);

int main(void)

{

char *pArray[]={"Fred","Barrey","Wilma","Betty"}; int num=sizeof(pArray) /sizeof(char);

printf("Total string numbers=%d\n",num);

Print(pArray,num);

return 0;

}

void Print(char *arr[],int len)

{

int i;

for(i=0;i

printf("%s\n",arr[i]);

}

6.14

#include

#include

#include

int main()

{

int i=0,j=0;

double **arr;

printf("本程序实现内容是:运用一个动态的二维数组,来存储1~10的1~4次幂\n");

arr=(double **)malloc(4*sizeof(double));

for(i=0;i<4;i++)

{

arr[i]=(double *)malloc(10*sizeof(double));

for(j=0;j<10;j++)

{

*(arr[i]+j)=pow((double)(j+1),(double)(i+1));

printf("the pow %d of %d is %lf\n",(j+1),i+1,*(arr[i]+j));

}

printf("\n");

free(arr[i]);

}

free(arr);

return 0;

}

6.15

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

C语言程序设计习题集

目录 第一章C语言基础知识 (1) 第二章C语言程序设计的初步知识 (3) 第三章顺序结构程序设计 (5) 第四章选择结构程序设计 (9) 第五章循环结构程序设计 (12) 第六章数组 (16) 第七章函数 (19) 第八章指针 (23) 第九章结构体与共用体 (27) 第十章文件 (30) 模拟试题一 (33) 第一章答案 (39) 第二章答案 (40) 第三章答案 (40) 第四章答案 (41) 第五章答案 (42) 第六章答案 (44) 第七章答案 (45) 第八章答案 (47) 第九章答案 (48) 第十章答案 (49) 模拟试题一答案 (52)

第一章C语言基础知识 一、选择题 1.C语言规定,必须用作为主函数名。 A)Function B)include C)main D)stdio 2.是C程序的基本构成单位。 A)函数B) 函数和过程C) 超文本过程D) 子程序3.下列说法正确的是。 A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B)一个函数的函数体必须要有执行部分,可以没有变量定义 C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D)以上都不对 4.下列说法正确的是。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执 行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数 开始的 5.下列说法正确的是。 A)在执行C程序时不是从mian函数开始的 B)C程序书写格式严格限制,一行内必须写一个语句 C)C程序书写格式自由,一个语句可以分写在多行上 D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号 6.在C语言中,每个语句和数据定义是用结束。 A)句号B)逗号C)分号D)括号 7.下列字符串是标识符的是。 A)_HJ B)9_student C)long D)LINE 1 8.以下说法正确的是。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 9.不是C语言提供的合法关键字。 A)switch B)print C)case D)default

C语言程序设计习题集3

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的就是_B__。 A 在程序中凡就是以“#”开始的语句行都就是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX就是合法的宏定义命令行 D C程序对预处理命令行的处理就是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的就是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果就是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果就是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果就是_C__。 #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); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_就是对指针变量p的正确说明与初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值就是_A__。 A 6 B 2 C 4 D 8 8 下面就是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

桂林电子科技大学C语言程序设计习题集及答案

一 单项选择题(每题2分,共44分) 1 以下叙述正确的是__C _。 A C 程序基本组成单位是语句 B C 程序每一行只能写一个语句 C 简单C 语句必须以分号作为结束符 D 注释语句可以嵌套 2 一个C 语言程序是从_B __开始执行的。 A 程序中第一个函数 B 名为main 的函数 C 包含文件(头文件)的第一个函数 D 程序中的第一个语句 3 请选出合法的C 语言赋值语句_B __。 A a=b=58 B i++; C a=58,b=58 D k=int(a+b); 4 下面标识符中,合法的用户标识符是 _B __。 A 1abc B include C a-b-c123 D char 5 以下所列的C 语言整形常量中,正确的是_A __。 A 0x10 B 0976 C 076L D 01ff 6 C 语言中下列运算符的操作数必须为整型的是_A __。 A % B ++ C / D = 7 设a 和b 均为int 型变量,则执行以下语句后的输出为_B __。 int a=20; int b=3; printf("%d\n ",a+=(b%=2)); A 20 B 21 C 0 D 23 8 已知int i;,则执行语句 i=2.6;后,i 的值为_A __。 A 2 B 3 C 2.6 D 不确定 9 以下合法的字符常量为_D __。 A 'ab ' B '\482' C '\' D '\xaf ' 10 若y 为int 型变量,则执行以下语句后,y 的值是 _C __。 y=8; y+=y-=y*y; A 64 B –56 C –112 D –48 11 以下合法的浮点型常量是_D __。 A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +5 12 设int 数据占用两个字节,float 数据占用四个字节,double 数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为__A _。 printf("%d ",sizeof(a*b)+2/5); A 4 B 8 C 6 D 7 13 设int 型占2个字节,且int i=-2;,则语句printf("%u ",i);的输出结果为_C __。 A 0 B -2 C 65534 D 65535 14 若x 、y 、z 均为整型常量,且a=100,则执行下列语句后的z 值为_A _。 x=a++; y=--a; z=x+y-a--; A 100 B 400 C 200 D 300 15 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%d\n ",u,v,w);,则输出结果是_A __。 A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,10 16 设x 、y 为int 型变量,则执行下列语句后,y 的值是__A _。 x=5; y=x++*x++; y=--y*--y; A 529 B 2401 C 1209 D 625 17 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 abc 1 的表达式是__D __。

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

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

C语言程序设计习题集沈国荣-参考答案

《C语言程序设计》习题解答 沈国荣隋雪莉闵芳 目录 第1章 C语言程序设计概述 (2) 第2章数据类型及其运算 (3) 第3章语句与输入输出 (4) 第4章选择结构程序设计 (6) 第5章循环结构程序设计 (9) 第6章数组 (12) 第7章函数 (15) 第8章编译预处理 (18) 第9章指针 (19) 第10章结构体与共用体 (22) 第11章位运算 (26) 第12章文件操作 (27)

第1章 C语言程序设计概述 1. 函数、main()函数 2. /*、*/ 3. .C、.OBJ、.EXE 4. 顺序结构、选择结构、循环结构 三、编程题 1.【参考代码】 #include int main( ) { printf( "(学校名称)\n" ) ; printf( "(姓名)\n" ) ; return 0 ; } 2.【参考代码】 #include int main( ) { printf( "(学校名称)\n(姓名)\n" ) ; return 0 ; }

第2章数据类型及其运算 注:第5题B选项为:'\'' '\017' '\t' 二、填空题 1. 字母、数字、下划线 2. 1、4、4、8 3. -16 4. 3.5 5. 0 6. 9 7. 6 8. -60 9. y%2==1 10. 1、0、1 三、程序阅读题 1. b 2. 0 3. 0 4. 10,2 5. 9,10,9,10 6. 3,1,0,0 7. 3,20,30,1

第3章语句与输入输出 1. 123.47 2. D 3. 回车 4. 10,2 三、程序阅读题 1. 261 2. 20 3. 201,10 4. y=4630 y=4630 5. *3.140000,3.142* 6. c:dec=120,oct=170,hex=78,ASCII=x 7. x=1 y=2 *sum*=3 10 squared is : 100 8. 2 48 20.2 20.2 9. x+y+z=48 10. 55, ,A 四、编程题 1.【参考代码】 #include int main( ) { char ch; printf("请输入一个字符:\n"); scanf("%c",&ch); printf("%c的ASCII码为:%d\n", ch,ch); return 0 ; } 2.【参考代码】 #include #define PI 3.1416 int main( ) { double r, h; double cl,cs,cv;

C语言程序设计试题及答案

C语言程序设计试题及 答案 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是() sum=pad=5;pAd=sum++,pAd++,++pAd;

printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别()

C语言程序设计习题集

《C语言程序设计》习题集 编程题复习范围(第1页,共2页) 选择结构 1、P76页例3.11 2、P78页求三个数的最大数 3、P78页例3.14 4、P84页比赛报名处理四 5、P90页例3.21 分别用switch 和else if 形式完成 6、P133页3-6 ⑶ 7、P133页3-6 ⑷ 8、P134页3-6 ⑺ 9、P134页3-6 ⑼ 循环结构 1、输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数 2、输入两个正整数x 和y,求其最大公约数和最小公倍数(提示:设x 和y 的较小值为gcd,则最大公约数的范围在gcd到1之间,用while循环完成) 3、P115页例3.42 4、P127页例3.55 5、P135页3-6 ⒄ 6、P135页3-6 ⒅ 7、输出所有的水仙花数。水仙花数是一个3位正整数,它的三个数字的立方和等于该数本身。例如:153 = 13 + 53 +33 8、P115页例3.43 9、P134页3-6 ⒀ 10、P134页3-6 ⒁ 11、P109页例3.37

12、P118页例3.47 13、P134页3-6 ⑿ 14、P135页3-6 ⒃ 15、P111页例3.39 模块化程序设计 1、P182页4-6 ⑵ 2、P148页例4.6 3、P149页例4.7 4、P151页例4.8 5、P182页4-6 ⑸ 6、P182页4-6 ⑺ 数组和指针 1、P191页例5.6 2、P191页例5.7 3、P192页例5.8 要求:会用函数sum_function求不同长度一维数组的和 4、P193页例5.9 5、P202页例5.12 6、P203页四个程序段 7、P206页例5.15 8、P211页例5.20 9、P212页例5.21 10、输入两个字符串,输出较大的字符串 11、编写函数str_len 求字符串的长度,并在主函数中调用该函数,函数说明如下:(不准使用库函数strlen) int str_len(char *str); 12、输入3行4列的二维整型数组,求最大值及行号、列号

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

C语言程序设计习题大全(附答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ).Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符B)定义不合法,s的值不确定 C)使s的值包含4个字符D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值D)C 12逻辑运算符两侧运算对象的数据类型是( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言程序设计试题及答案(三)

C语言程序设计试题及答案(三) 一、单项选择题(20分,每题2分) 1.执行下列程序段后,正确的结果是(B) int k, a[3][3] = {1,2,3,4,5,6,7,8,9}; for(k=0; k<3; k++) printf(“%2d”, a[k][k]); A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 9 2.若a是int类型变量,则计算表达式a=25/3%3的值是:(B) A)3 B)2 C)1 D)0 3.下面正确的字符常量是:(C) A)“c” B)‘\\’’ C)‘W’ D)‘’ 4.C语言中,运算对象必须是整型的运算符是:(B) A)% B)/ C)* D)+ 5.数字字符0的ASCII值为48,若有以下程序 main() { char a='1', b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是。(B) A)3,2 B)50,2 C)2,2 D)2,50 6.以下语句或语句组中,能正确进行字符串赋值的是。(D)A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!"; 7.for(i=0;i<10;i++) if(i〈=5〉 break; 则循环结束后i的值为(B) A)0 B)1 C)5 D)10 8.执行下列程序段后,正确的结果是(C) char x[8] = {8,7,6,5,0,0}, *s;

s = x+1; printf(“%d\n”, s[2]); A) n B) 0 C) 5 D) 6 9.C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:A A)单向值传递B) 地址传递C) 相互传递D) 由用户指定方式10.设有数组定义:char str[]=”China”;则下面的输出为(C)printf(“%d”,strlen(str)); A)4 B)5 C)6 D)7 二、填空题(30分,每空2分) 1.下列程序段的输出结果是 3 。 int i=19, j; j=i%4; printf(“% d”, j); 2.已知fun1函数的功能是将三个数按由大到小的顺序调整后依次放入a,b,c 三个变量中,其中a存放最大的数,利用fun2函数填空完成此功能。 void fun2(int *x,int *y) { int t; t=*x; *x=*y; *y=t; } void fun1() { int a=20, b=30, c=25; if(c>b) fun2(__&c,&b____); if(a,则输出结果是 1 B 。 #include main() { char a,b; a=getchar(); scanf("%d",&b); a=a-'A'+'0'; b=b*2; printf("%c %c\n",a,b);

C语言程序设计教程(第二版)电子工业出版社,黄皮书课后答案

习题1 1-1 填空题 1.函数 2.主函数main(),主函数main() 3.主函数main() 4.函数首部,函数体 5.{, } 6./*, */ 7.顺序结构,选择结构,循环结构 8..c, .obj, .exe 1-2 思考题 1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构 2.算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法 3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。 4. 略 5. 略 1-3 编程题 1. main() { float a=3, b=4, c=5, s, area; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); p rintf(“area=%f ” , area ); } 2. main() { printf(“******************************”); printf(“* hello world *”); printf(“******************************”);

} 习题2 2-1 单选题 1~5 DBDCA 6~10 DCABA 11~14 BCA A 2-2 思考题 1.2.00000 2.1,0.5 3.9,2 4.6 5.100,d 6.(1)20 (2)0 (3)60 7. (1)10,6,4 (2)6,9,15 (3)3,60,83 8. 55 9.70 习题3 3-1单选题 1-5BBDAB 6-10DDBDC 11-15AADCA 16-20CBACC 21-25ABDBB 3-2填空题 1. 3 2.0261 3.0x10 4.0 5. 2, 1 互换a,b的值 6. 6.6 7.–03 8.7 9. 5.0,4,c=3 10.i=10,j=20 11.(1) 65 (2) 65,A

《C语言程序设计》试题九及答案

《C语言程序设计》试题九 (1) 一、选择题 (1) 二、填空题 (2) 三、程序填空与算法题 (3) 四、编程题 (5) 《C语言程序设计》试题九答案 (6) 《C语言程序设计》试题九 一、选择题 1.一个C语言程序是由()构成。 A.语句 B.行号 C.数据 D.函数 2.下面标识符中正确的是()。 A.d&ef B.6a C.z4x5c D.a3/b4 3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8 4.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。 A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D. 在同一行上的if 5.下列表达式的结果正确的是()。 int aa,bb,cc,dd; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1==2)?bb=aa+2:aa+3 A.2 B.3 C. 1 D.5 6.设有int x=11 ;则表达式(x+1/3)的值是()。 A.3 B. 4 C. 11 D.12 7.设有字符串A=“He has 钱!”,则该字符串的长度为()。 A. 9 B. 10 C. 11 D. 8

8.有如下程序段,则正确的执行结果是() int m=3; while(m<=5) { printf(“%d”,m-3); m++;} A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果 9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。 A.无输出 B.结果不确定 C.-1 D. 1 10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。 int x; char y; char z[20]; A. scanf("%d%c%c",&x,&y,&z); B. scanf("%d%c%s",&x,&y,&z); C. scanf("%d%c%c",&x,&y,z); D. scanf("%d%c%s",&x,&y,z); 11. struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是()。 A. struct结构体类型的关键字 B. example是结构体类型名 C. x,y,z都是结构体成员名 D. struct ex是结构体类型 12.在C语言中对于实型数组,其每个数组元素的类型是( )。 A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。 A. p+1 B. a+1 C. a++ D. ++p 14. 在TC2.0环境中,对文件进行保存使用的命令是( )。 A. OPEN B. SAVE C. LOAD D. WRITE TO 15.在C++的类中,用于表示公共类型的关键字是( )。 A. class B. private C. protect D. public 二、填空题 1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。 2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。 3. 一个变量的指针是指___________________________________________________。 4. 在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操

相关主题
文本预览
相关文档 最新文档