C语言必背的典型程序设计题目 - 数组、函数-------参考答案

合集下载

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案C语言程序设计(第3版) - 参考答案C语言是一种广泛应用于软件开发领域的编程语言,它具有高效、简洁、灵活等特点。

《C语言程序设计(第3版)》是一本经典的教材,本文将提供一些参考答案,帮助读者更好地理解和掌握C语言程序设计。

一、基础知识1. 什么是C语言?C语言是一种通用的编程语言,由贝尔实验室的Dennis Ritchie开发,在20世纪70年代广泛流行起来。

它被设计为一种低级语言,可以直接操作计算机硬件,并提供了足够的抽象层次来方便高级程序设计。

2. 如何输出“Hello, World!”?在C语言中,使用printf函数可以输出文本信息。

要输出“Hello, World!”,可以使用以下代码:```#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```3. 如何定义和使用变量?在C语言中,可以使用关键字`int`、`float`、`char`等定义变量。

例如:```int age = 20;float weight = 60.5;char grade = 'A';```定义后的变量可以用于存储不同类型的值,并在程序中进行操作和输出。

二、控制流程1. 什么是条件语句?条件语句允许程序通过判断条件来选择性地执行不同的代码块。

在C语言中,常用的条件语句是`if`语句。

例如:```if (score >= 60) {printf("Pass\n");} else {printf("Fail\n");}```根据变量`score`的值,判断学生是否及格并输出相应结果。

2. 什么是循环语句?循环语句可以重复执行一段代码块,以达到多次执行的目的。

在C 语言中,常用的循环语句有`for`、`while`和`do while`。

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

其基本结构包括顺序结构、选择结构和循环结构三种。

2.算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

1-3 编程题1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。

#include "stdio.h"main(){ float a, b, h, s;a=10; b=20;h=5; s=(a+b)*h/2;printf("s=%f\n" , s );}2. 编写程序显示如图1.11所示信息。

图1.11 显示信息#include "stdio.h"main(){ printf("******************************\n");printf("* hello world *\n");printf("******************************\n"); }习题22-1 单选题1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 55习题33-1 选择题1-5BDABC 6-10ADCAC 11-12BB3-2 填空题1. 32.02613.0x104. 2, 1 互换a,b的值5. 6.66.–0038.77. 5.0,4,c=3<Enter>8.i=10,j=20<Enter>9.(1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5) 8765.432(6) 5.864000e+002(7) 3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310.a=2 b=5x=8.8 y=76.34c1=65 c2=973-3 编程题1. 编写程序实现从键盘输入两个十进制整型数据10和8给变量x和y,并按下列格式 输出。

C程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。

C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。

解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。

因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。

8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。

请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。

解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案默认分类2007-09-10 12:38:44 阅读6618 评论13 字号:大中小订阅【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

错误:main函数可以放在程序的任何位置。

并不限定在程序的开头。

1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1.9 编辑与编译不是一回事。

错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。

正确1.11 注释内容太多会影响程序的执行效率。

错误:不会影响程序的执行效率。

因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。

1.12 所有的数学公式可以直接出现在源程序中。

错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。

三、编程题1.13 在屏幕上输出自己名字的拼音。

提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。

1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15 输入两个整数,输出其中最大者。

提示:模仿例1.31.16 输入三个整数,输出其中最小者。

提示: min(min(a,b),c);【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2.2 C语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量'a'与字符串常量"a"有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C语言中,int型数据在内存中的存储形式是(D)。

C语言必背15个经典程序

C语言必背15个经典程序

int search(char s1[],char s2[]) { int i=0,j,len=strlen(s2); while(s1[i]) { for(j=0;j<len;j++) if(s1[i+j]!=s2[j]) break; if(j>=len) return i; else i++; } return -1; } int main() { char s1[6]="thisis"; char s2[5]="is"; printf("%d\n",search(s1,s2)); system("pause"); return 0; } 13、/*编写函数 replace(char *s,char c1,char c2)实现将 s 所指向的字符串中所有字符 c1 用 c2 替换,字符串、字符 c1 和 c2 均在主函数中输入,将原始字符串和替换后的字符串显示在屏 幕上,并输出到文件 p10_2.out 中*/ 主要涉及知识点:替换算法、函数、字符数组、文件操作 #include<stdio.h> replace(char *s,char c1,char c2) { while(*s!='\0') { if (*s==c1) *s=c2; s++; } } int main() { FILE *fp; char str[100],a,b; if((fp=fopen("p10_2.out","w"))==NULL) { printf("cannot open the file\n"); exit(0); }
a[i][4]=sum1/4; } for(j=0;j<5;j++) { sum2=0; for(i=0;i<3;i++) sum2+=a[i][j]; a[3][j]=sum2/3; } for(i=0;i<4;i++) { for(j=0;j<5;j++) printf("%6.2f",a[i][j]); printf("\n"); } return 0; } 7、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全 相同的字符串。*/ 主要涉及知识点:字符数组的输入输出,及相应的处理 #include <stdio.h> #include <string.h> int main() { char s[100]; int i,j,n; printf("输入字符串:\n"); gets(s); n=strlen(s); for(i=0,j=n-1;i<j;i++,j--) if(s[i]!=s[j]) break; if(i>=j) printf("是回文串\n"); else printf("不是回文串\n"); return 0; } 8、/*下面程序的功能是从字符数组 a 中删除存放在其中的字符 c。*/ 主要涉及知识点:字符数组的输入输出,及相应的处理 #include <stdio.h> int main() { char s[80],c; int j,k; printf("\nEnter a string: "); gets(s);

3套 《C语言程序设计》试卷+参考答案

3套 《C语言程序设计》试卷+参考答案

一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。

(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。

(B)所有的函数都不能嵌套定义,但可以相互调用。

(C)函数的实参应与其对应的形式参数类型一致。

(D)函数可以不加函数返回值类型标识符。

8.一个C程序的执行是。

(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。

C语言程序设计经典必背程序

C语言程序设计经典必背程序

C语言程序设计典型编程必背1.计算机1-3+5-7+。

-99+101的值#include<stdio.h>main ( ){int i,t=1,s;s=0;for(i=1;i<=101;i+=2){ t=t*i; s=s+t;t=t>0?-1:1; }printf(“%d\n”,s);}2.输入一个十进制数,将他对应的二进制数的各位反序,形成新的十进制数输出。

11—1011—1101—13#include<stdio.h>main ( ){int n,x,t;printf(“shuruzhengshu:”);scanf(“%d”,&n);x=0;while(n!=0){ t=n%2; x=x*2+t;n=n/2; }printf(“xindezhengshu:%d\n,x”);}3.给出年月日,计算出该日是该年的第几天。

#include<stdio.h>main ( ){int year,month,day,days,i,d;printf(“shuru nian,yue,ri:”);scanf(“%d,%d,%d”,&year,&month,&day);days=0;for(i=1;i<month;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 4:case 6:case 9:case 11:d=30;break;case 2:if(year%4==0&&year%100!=0||year%400==0) d=29;else d=28;}days+=d;}printf(“%d nian %d yue %d ri shigainiande %d tian。

\n”,year,month,day,days+day);}4.求100——200间的素数。

《C语言程序设计》课后习题参考答案

《C语言程序设计》课后习题参考答案
for(i=1;i<=n;i++)
{
t=t+i;
s=s+t;
}
printf("s=%d\n",s);
}
习题
一、选择题
1.B 2.A 3.A 4.D 5.C 6.B 7.A 8.A
二、填空题
1.按行的顺序依次存放的
2.0
3.4
4.6
三、编程题
1.有一个多项式:Pn(x)=a0xn+a1xn-1+…+an
2.0 1
3.1
4.4
5.-1
三、编程题
1.给出等级成绩′A′、′B′、′C′、′D′、′E′,假设,90分以上为′A′,80~89分为′B′,70~79分为′C′,60~69分为′D′,60分以下为′E′,输入一个等级成绩,问属于哪一个分数段。
参考代码如下:
main()
{
int score,m,n;
scanf("%d",&n);
for(i=0;i<5;i++)
if(n>a[i])
continue;
else
break;
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
for(i=0;i<6;i++)
printf("%d,",a[i]);
printf("\n");
}
4.编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found。
二、填空题
1. BASIC、FORTRAN、AL_GOL60和COBOL

(完整word版)C语言必背18个经典程序

(完整word版)C语言必背18个经典程序

C语言必背18个经典程序1、/*输出9*9口诀。

共9行9列,i控制行,j控制列。

*/#include "stdio.h"main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}system("pause");}2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....*/main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}}3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

*/#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) /*内循环结束后,leap依然为1,则m是素数*/{printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);system("pause");}4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。

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

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

C语言程序设计(第二版)习题参考答案1习题1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。

2.二进制是由0和1两个数字组成的进制方式。

3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。

4.在整数的二进制表示方法中,0的原码、反码都有两种形式。

5.有符号数有三种表示法:原码、反码和补码。

6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。

解:1.F2.T3.T4.T5.T6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是A.原码B.反码C.补码D.移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数A.112B.120C.121D.1223.关于ASCII码,在计算机中的表示方法准确地描述是A.使用8位二进制数,最右边一位为1B.使用8位二进制数,最左边一位为1C.使用8位二进制数,最右边一位为0D.使用8位二进制数,最左边一位为04.设在机器字长4位,某=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。

A.某∧Y=1000B.某∨Y=1111C.某⊕Y=0011D.¯=1000Y5.下列叙述中正确的是()。

A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。

A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。

A.main函数在C程序中必须有且只有一个B.C程序的执行从main函数开始,所以main函数必须放在程序最前面C.函数可以带参数,也可以不带参数。

PAT《C语言程序设计》题目集参考答案(上)

PAT《C语言程序设计》题目集参考答案(上)

PAT浙大版《C语言程序设计(第3版)》题目集参考答案(上)目录练习5-1 求m到n之和(10分) (1)练习5-2 找两个数中最大者(10分) (2)练习5-3 数字金字塔(15分) (2)习题5-1 符号函数(10分) (3)习题5-2 使用函数求奇数和(15分) (3)习题5-3 使用函数计算两点间的距离(10分) (4)习题5-4 使用函数求素数和(20分) (4)习题5-5 使用函数统计指定数字的个数(15分) .. 5习题5-6 使用函数输出水仙花数(20分) (6)习题5-7 使用函数求余弦函数的近似值(15分) .. 8习题6-1 分类统计字符个数(15分) (8)习题6-2 使用函数求特殊a串数列和(20分) (9)习题6-3 使用函数输出指定范围内的完数(20分) (10)习题6-4 使用函数输出指定范围内的Fibonacci数(20分) (11)习题6-5 使用函数验证哥德巴赫猜想(20分) (13)练习5-1 求m到n之和(10分)本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。

函数接口定义:int sum( int m, int n );其中m和n是用户传入的参数,保证有m<n。

函数返回的是m~n之间所有整数的和。

int sum(int m, int n){int a=0;while(m<=n){a=m+a;m++;}return a;}练习5-2 找两个数中最大者(10分)本题要求对两个整数a和b,输出其中较大的数。

函数接口定义:int max( int a, int b );其中a和b是用户传入的参数,函数返回的是两者中较大的数。

int max(int a,int b){int c;if (a>b)c=a;elsec=b;return c;}练习5-3 数字金字塔(15分)本题要求实现函数输出n行数字金字塔。

函数接口定义:void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。

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

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

C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D )A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B )A、abcB、12ACC、sunD、 A3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A )A、—24B、0C、4D、164、下列运算符中优先级最高的是(B )A、〈B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A )A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C )A、关系运算符〈算术运算符〈赋值运算符<逻辑与运算符B、逻辑与运算符〈关系运算符<算术运算符〈赋值运算符C、赋值运算符<逻辑与运算符〈关系运算符<算术运算符D、算术运算符〈关系运算符<赋值运算符〈逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )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〈回车〉,下面程序的输出结果是:( C )void main ( ){ int m,n;scanf(“%2d%3d”,&m,&n);printf(“m=%d n=%d\n”,m,n);}A、m=23 n=45B、m=234 n=56C、m=23 n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A )main(){ int x,y;scanf(“%d”,&x);y=x>12?x+10:x—12;printf(“%d\n”,y);}A、0B、22C、12D、1011、C语言中while和do-while循环的主要区别(A )A、do—while的循环体至少执行一次B、while 的循环控制条件比do—while的循环控制条件严格C、do—while允许从外部转到循环体内D、do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是( C )A、int a[3][]B、float a(3,4)C、double a[3][4]D、float a(3)(4)13、以下程序的输出结果是(C)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,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是(C )A、int a[10]=(0,0,0,0,0);B、int a[10]={ };C、int a[10]={0};D、int a[10]={10 *1};15、以下程序执行后的输出结果是:(A )int fun(int a,int b,int c){ a=456;b=567;c=678;}void main(){int x=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n",z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B )func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是( B )。

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。

存储器是计算机中具有记忆能力的部件,用来存放程序和数据。

输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。

4、什么叫软件说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。

在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

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

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

《C语言程序设计》试题库及答案C语言程序设计习题集及答案电子信息工程学院2022.9.1内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。

本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。

寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。

我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。

同学们,“攻城不怕坚,攻书莫畏难。

科学有险阻,苦战能过关。

”,学习是辛苦的,但也充满了挑战和乐趣。

我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。

朋友们,学习向来没有什么捷径可寻。

“多看、多模仿、多操作”是我能给你们的唯一建议。

祝你们学业有成。

杨久红2022.9.1I目录第一部分习题第1章C语言概述............................................................. ............................................................... .. (1)1.1选择题............................................................. ............................................................... ...................11.2填空题............................................................. ............................................................... ...................21.3编程题............................................................. ............................................................... ...................2第2章数据的存储与运算............................................................. .. (3)2.1选择题............................................................. ............................................................... ...................32.2填空题............................................................. ............................................................... ...................62.3编程题............................................................. ............................................................... ...................7第3章最简单的程序设计-顺序程序设 (8)3.1选择题............................................................. ............................................................... ...................83.2填空题............................................................. ............................................................... .................133.3编程题............................................................. ............................................................... .................14第4章选择结构程序设计............................................................. (15)4.1选择题............................................................. ............................................................... .................154.2填空题............................................................. ............................................................... .................194.3编程题............................................................. ............................................................... .................20第5章循环结构程序设计............................................................. .. (2)15.1选择题............................................................. ............................................................... .................215.2填空题..............................................................................295.3编程题............................................................. ............................................................... .................30第6章利用数组处理批量数据............................................................. . (32)6.1选择题.............................................................. ................................................................ ...............326.2填空题.............................................................. ................................................................ ...............376.3编程题.............................................................. ................................................................ ...............38第7章用函数实现模块化程序设计.............................................................. . (40)7.1选择题............................................................. ............................................................... .................407.2填空题............................................................. ............................................................... .................527.3编程题............................................................. ................................................................................57第8章善于使用指针............................................................. ............................................................... .. (58)8.1选择题............................................................. ............................................................... .. (58)II8.2填空题............................................................. ............................................................... .................708.3编程题............................................................. ............................................................... .................71第9章结构体............................................................. ............................................................... (72)9.1选择题............................................................. ............................................................... .................729.2填空题............................................................. ............................................................... .................739.3编程题............................................................. ............................................................... .................74第10章利用文件保存数据............................................................. . (75)10.1选择题............................................................. ............................................................... ...............7510.2填空题............................................................. ............................................................... ...............7710.3编程题............................................................. ............................................................... (79)第二部分参考答案第1章C语言概述............................................................. ............................................................... . (81)1.1选择题............................................................. ............................................................... .................811.2填空题............................................................. ............................................................... .................811.3编程题............................................................. ............................................................... .................81第2章数据的存储与运算............................................................. (81)2.1选择题............................................................. ............................................................... .................812.2填空............................................................... .................822.3编程题............................................................. ............................................................... .................82第3章最简单的程序设计-顺序程序设计............................................................. .. (83)3.1选择题............................................................. ............................................................... .................833.2填空题............................................................. ............................................................... .................833.3编程题............................................................. ............................................................... .................83第4章选择结构程序设计............................................................. (84)4.1选择题............................................................. ............................................................... .................844.2填空题............................................................. ............................................................... .................854.3编程题............................................................. ............................................................... .................85第5章循环结构程序设计.............................................................75.1选择题............................................................. ............................................................... .................885.2填空题............................................................. ............................................................... .................885.3编程题............................................................. ............................................................... .................88第6章利用数组处理批量数据............................................................. . (95)6.1选择题............................................................. ............................................................... .................956.2填空题............................................................. ............................................................... .................956.3编程题............................................................. ............................................................... .. (95)III第7章用函数实现模块化程序设计.............................................................. .. (100)7.1选择题............................................................. ............................................................... ...............1007.2填空题............................................................. ............................................................... ...............1007.3编程题............................................................. ............................................................... ...............100第8章善于使用指针............................................................. ............................................................... (104)8.1选择题............................................................. ............................................................... ...............1048.2填空题............................................................. ............................................................... ...............1048.3编程题............................................................. ............................................................... ...............104第9章结构体............................................................. ............................................................... . (106)9.1选择题............................................................. ............................................................... ...............1069.2填空题............................................................. ..............................................................................1069.3编程题............................................................. ............................................................... ...............106第10章利用文件保存数据............................................................. .. (107)10.1选择题............................................................. ............................................................... .............10710.2填空题............................................................. ............................................................... .............10710.3编程题............................................................. ............................................................... . (107)IV第一部分习题第1章C语言概述1.1选择题1.以下说法中正确的是()。

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

1、使用选择法、冒泡法对10个数进行排序,并输出排序前后的数列。

nk=0; mt=0; //用于记录出列顺序while(t<n){if(num[i]==0) k++;if(k==m){t++;num[i]=t;k=0;}i++;if(i==n)i=0; //或者 i=i%n,构成循环}for(i=0;i<n;i++)printf("%4d",i+1);printf("\n");for(i=0;i<n;i++)printf("%4d",num[i]);printf("\n");}4、编程打印直角杨辉三角形前六行。

#include <>#include <>void main(){int i,j,a[6][6];for(i=0;i<=5;i++){a[i][i]=1;a[i][0]=1;}for(i=2;i<=5;i++){for(j=1;j<=i-1;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(i=0;i<=5;i++){for(j=0;j<=i;j++){printf("%4d",a[i][j]);}printf("\n");}}5、编写程序,把下面的数据输入一个二维数组中。

25 36 78 1312 26 88 9375 18 22 3256 44 36 58然后执行以下操作:①输出矩阵两个对角线上的数;②分别输出各行和各列的和;③交换第一行和第三行的位置;④交换第二列和第四列的位置;⑤输出处理后的数组。

#include<>#define SIZE 4void main(){inta[SIZE][SIZE]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}};int i,j,t,sum;//输出二维数组printf("二维数组:\n");for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}printf("\n");printf("主对角线上的数:");for(i=0;i<SIZE;i++){printf("%4d",a[i][i]);}printf("\n");printf("副对角线上的数:");for(i=0;i<SIZE;i++){printf("%4d",a[i][SIZE-1-i]);}printf("\n\n");//各列的和for(i=0;i<SIZE;i++){sum=0;for(j=0;j<SIZE;j++){sum+=a[i][j];}printf("第%d行的和=%d\n",i+1,sum);}printf("\n");//各列的和for(j=0;j<SIZE;j++){sum=0;for(i=0;i<SIZE;i++){sum+=a[i][j];}printf("第%d列的和=%d\n",j+1,sum);}printf("\n");//交换第一行和第三行的位置for(j=0;j<SIZE;j++){t=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}//输出二维数组printf("交换第一行和第三行后的二维数组:\n"); for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}printf("\n");//交换第二列和第四列的位置for(i=0;i<SIZE;i++){t=a[i][1];a[i][1]=a[i][3];a[i][3]=t;}//输出二维数组printf("交换第2列和第4列后的二维数组:\n"); for(i=0;i<SIZE;i++){for(j=0;j<SIZE;j++){printf("%5d",a[i][j]);}printf("\n");}} 6、求一个5×5矩阵中的马鞍数,输出它的位置,所谓马鞍数是指在行上最小而在列上最大的数。

如下矩阵:5 6 7 8 94 5 6 7 83 4 5 2 12 3 4 9 01 2 5 4 8⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭则1行1列上的数就是马鞍数。

#include <>void main(){int a[5][5]={{5,6,7,8,9},{4,5,6,7,8},{3,4,5,2,1},{2,3,4,9,0},{1,2,5,4,8}}; int i,j,col,row,Min,Max;for(i=0;i<5;i++){Min=a[i][0];col=0;for(j=0;j<5;j++){if(Min>a[i][j]){Min=a[i][j];col=j;}}Max=a[0][col];row=0;for(j=0;j<5;j++){if(Max<a[j][col]){Max=a[j][col];row=j;}}if(row==i)printf("马鞍数是行%d ,列%d 值:%d\n",row+1,col+1,a[row][col]); }}7、定义一个二维数组,存入5个学生的数学、语文、英语、物理、化学5门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩。

#include <>#define N 5 //代表学生数#define M 5 //代表课程数void main(){int scores[N][M]={{78,89,90,76,65},{86,79,98,74,95},{78,67,96,90,65}, {92,79,98,74,95},{69,94,85,67,56}};int i,j,sum;//输入学生成绩/*for(i=0;i<N;i++){printf("输入第%d个学生的数学、语文、英语、物理、化学5门课程的成绩:",i+1);for(j=0;j<M;j++)scanf("%d",&scores[i][j]);}*///输出学生成绩printf("序号\t数学\t语文\t英语\t物理\t化学\t平均成绩\n");for(i=0;i<N;i++){sum=0;printf("%d\t",i+1);for(j=0;j<M;j++){sum+=scores[i][j]; //计算每一位学生的总成绩printf("%d\t",scores[i][j]);}printf("%d\n",sum/M); //输出每一位学生的平均成绩}//计算并输出每一门课程的平均成绩printf("\n平均\t");for(j=0;j<M;j++){sum=0;for(i=0;i<N;i++){sum+=scores[i][j];}printf("%d\t",sum/N);}printf("\n");}8、输入一个字符串,判断其是否为回文。

回文字符串是指从左到右读和从右到左读完全相同的字符串。

#include <>#include <>void main(){ char s[100];int i,j,n;printf("输入字符串:\n");gets(s);n=strlen(s);for(i=0,j=n-1;i<j;i++,j--)if(s[i]!=s[j]) break;if(i>=j) printf("是回文串\n");else printf("不是回文串\n");}9、编写程序实现从字符数组s中删除存放在c中的字符。

#include <>#include <>void main(){ char s[80],c;int j,k;printf("\nEnter a string: ");gets(s);printf("\nEnter a character: ");c=getchar( );for(j=k=0;s[j]!= '\0';j++)if(s[j]!=c)s[k++]=s[j];s[k]= '\0';printf("\n%s",s);}10、输入5个国家的名字,按字母顺序进行排列,输出排序前后的内容。

#include<>#include <>#define SIZE 5void main(){char a[SIZE][50], temp[50];int i,j,t;printf("Enter 5 country names:\n");for(i=0;i<SIZE;i++){gets(a[i]);}printf("Before sort:\n");for(i=0;i<SIZE;i++){printf("%s\n",a[i]);}printf("\n");//排序for(i=0;i<SIZE-1;i++){t=i;for(j=i+1;j<SIZE;j++){if(strcmp(a[t],a[j])>0){t=j;}}if(t!=i){strcpy(temp,a[i]);strcpy(a[i],a[t]);strcpy(a[t],temp);}}printf("Aftere sorted:\n");for(i=0;i<SIZE;i++){printf("%s\n",a[i]);}printf("\n");}函数部分必须会编写的程序(参考答案)1、定义一个函数,用于判断三角形的三条边能否构成三角形,如果能,则判断是普通三角形,等腰三角形,还是等边三角形。

相关文档
最新文档