C语言程序设计复习资料
C语言程序设计复习资料

第1章概述本章重点:掌握C语言程序的结构和书写规则,以及Turbo C V2.0的基本操作。
1.1 C语言概述1.C语言的诞生与发展(见教材)2.C语言的特点(见教材)3. 在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数(不是C语言的组成部分)来实现。
所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。
9种控制语句:if( )……else……for(……)while(……)do……while(……)continuebreakswitchgotoreturn1.2 简单C程序介绍1.2.1C语言程序的总体结构一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。
[例1.1] 仅由main()函数构成的C语言程序。
/*功能:仅由main()函数构成的C语言程序示例*/main(){ printf(‚This is a C program.\n‛);}程序运行结果:This is a C program.[例1.2] 由main()函数和1个其它函数max()构成的C语言程序。
/*代码文件名:AL1_2.C*//*功能:由main()函数和1个其它函数max()构成的C语言程序示例*/int max(int x, int y){ return( x>y ? x : y ); }main(){ int num1,num2;printf(‚Input the first integer number: ‛);scanf(‚%d‛, &num1);printf(‚Input the second integer number: ‛);scanf(‚%d‛, &num2);printf(‚max=%d\n‛, max(num1, num2)); }程序运行情况:Input the first integer number:6←┘Input the second integer number:9←┘max=9 [例1.3] 改写[例1.2],交换main()函数和max()函数的前后位臵。
C语言及程序设计复习资料

C语言及程序设计复习资料一、简答题1、说明算法可以采用哪几种控制结构组合。
1、算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。
一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合而成。
2、c语言程序的基本单位是什么?它的结构又如何?2、函数是c语言程序的基本模块单元。
任何函数(包括主函数main())都是由函数说明和函数体两部分组成。
其一般结构如下: [函数类型] 函数名(函数参数表){ 说明语句部分;执行语句部分;}4、如果a的输入值是58,通过执行三个判断语句,在每一个判断中,如果满足判断条件的话,就输出a,因为三次判断,条件都满足,所以三都次输出a,因此输出结果为585858。
8、分析下面程序的执行过程,给出输出结果。
f(int b[],int m,int n){ int i,s=0;for(i=m;i<n;i=i+2)s=s+b[i];return s;)main( ){ int x,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);)【答案】本题中,主函数调用f函数,在f函数中执行了两次循环,第一次i=3,s=0+b[i]:4,然后i 的值被修改成5,仍然满足循环条件,进入第二轮循环,s=4+b[5]=4+6=10,随后,i的值被修改成7,不再满足循环条件,退出循环,返回s的值。
所以最后输出结果是10。
二、编程题1、编写程序,输出从公元2010元至2100年所有闰年的年号。
每输出3个年号换一行。
1、【参考答案】#include “stdio.h”main(){ int year,I=0;printf(“\n从2010年至公元2100年中闰年有:\n”);for(year=2010;year<=2100;){if((year%4= =0&&year%100!=0)||year%400= =0){printf(“\t%d”,year);i++;if(i%3= =0) printf(“\n”);}year++;}}2、输出所有"水仙花数"。
C语言程序设计期末复习资料

第一章——C简介一、C语言程序的结构1.一个程序有一个或多个源文件组成(1)预处理指令如#including <stdio.h>(2)全局声明在函数之外进行的数据声明,在定义函数前声明的变量,在整个源程序文件范围内有效。
(3)函数定义2.C的主体部分——函数(函数首部和函数体)(1)函数首部包括函数名、函数类型、函数属性、函数参数(形参与实参)、参数类型(2)函数体3.程序从main函数开始执行。
4.每个数据声明和语句的最后必须有一个分号5.注释应当包含注释(1)以//开始单行的注释,从//开始,到换行符结束。
(2)以/*开始,以*/结束的块式注释,可以包含多行内容。
第三章——顺序结构一、数据的表现形式及其运算1.合法用户标识符合法的要求是由字母,数字,下划线组成,有其它元素就错了,并且第一个必须为字母或则是下划线,第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf都不是关键字。
2.实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。
e前e后必有数,e后必为整数。
3.字符数据的合法形式:'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符’\0’) .小写字母的ASCII码比对应的大写字母大324.整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:5.转义字符:6.算术运算符号的优先级别7.强制类型转换:(1)一定是(int)a不是int(a),注意类型上一定有括号(2)注意(int)(a+b)和(int)a+b的区别。
前是把a+b转型,后是把a转型再加b 8.不同类型数据间混合运算(1)有float或double型,结果为double型。
(2)字符型和实数型数据运算,将字符的ASCII代码转化为double型数据进行计算。
二、C语句1.C语句分类(1)控制语句。
C语言程序设计期末复习

C语言程序设计期末复习
一、基础知识
1、变量和运算符
变量就是程序中用来保存信息的抽象容器,可以用来记录用户输入、
程序执行时间以及中间结果等信息
C语言允许使用者定义变量,分为基本类型变量和指针变量。
其中基本类型变量有:整型int,浮点型float,字符型char,双精
度型double,无符号整型unsigned等。
运算符是对变量进行运算的符号,C语言中的运算符大致可分为三大类:算术运算符,关系运算符和逻辑运算符。
其中算术运算符包括:+、-、*、/和%;关系运算符包括:>、>=、<、<=、==和!=;
逻辑运算符包括:&&,和。
2、流程控制
程序的流程控制是应用程序中最重要的结构,在C语言中可以通过控
制语句来控制程序的执行流程。
常用的控制语句有:if、goto、while、for、switch-case等。
if语句可以根据执行条件跳过执行部分语句,节省程序执行的时间。
goto语句可以跳转到指定的语句,实现循环执行流程。
while语句可以不固定有多少次操作,根据执行条件决定是否继续执行。
for语句可以更精确的表示循环次数,避免无意识的多次循环操作,从而提高程序运行效率。
switch-case语句可以根据变量的变化值,执行不同的操作,实现复杂的逻辑判断。
3、函数。
C程序设计复习资料含复习资料

C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。
了解不同数据类型的取值范围和存储方式是编程的基础。
例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。
2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。
在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。
3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。
掌握这些运算符的优先级和结合性,能够正确编写表达式。
例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。
4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。
(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。
例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。
2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。
通过指针可以间接访问变量的值,并且能够实现动态内存分配。
例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。
三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。
函数可以有返回值,也可以没有返回值。
C语言程序设计综合复习资料(doc 9页)

intd[3][2]={{1,2},{34}}; 4.以下不能正确定义二维数组的选项是A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4};C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}}; 5.有语句:chars1[10],s2[10]={ "books"};则能将字符串books赋给数组s1的正确语句是A)s1={"books"};B)strcpy(s1,s2);C)s1=s2;D)strcpy(s2,s1);6.C语言标准函数strcpy(s3,strcat(s1,s2))的功能是A)将字符串s1复制到s2中,再连接到s3之后B)将字符串s2连接到s1之后,再将s1复制到s3中C)将字符串s2复制到s1中,再将s1连接到s3之后D)将字符串s2连接到s1之后,再将s3复制到s1中二、读程序,写出程序执行结果1.main(){intaa[4][4]={{1,2,3,4},{ 5,6,7,8},{3,9,10,2},{4,2, 9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i ][3];printf(“%d\n”,s);}2.main(){inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};inti,j,s=0;for(i=0;i<4;i++){for(j=0;j<4;j++){if(a[i][j]<0)continue;if(a[i][j]==0)break;s+=a[i][j];}}printf("%d\n",s);}3.main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}4.main(){inti,n[]={0,0,0,0,0};for(i=1;i<=4;i++){n[i]=n[i-1]*2+1;printf("%d",n[i]);}}5.voidmain(){intstr[3][3]={1,2,3,4,5,6,7,8,9},i,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=str[i][j];str[i][j]=str[j][i];str[j][i]=t;}for(i=0;i<3;i++){for(j=0;j<3;j++)printf(“%3d”,str[i][j]);printf("\n");}}第8章函数一、选择题1.在C语言中A)函数的定义允许嵌套,但函数的调用不允许嵌套。
C语言程序设计复习资料_设计部分

复习资料程序设计部分主要包括程序设计的三大结构、及数组、指针的应用及函数等。
例:1、求和问题:/*------------------------------------------------ 【程序设计】--------------------------------------------------功能:求给定正整数m以内的素数之和。
例如:当m=20时,函数值为77。
------------------------------------------------*/#include <stdio.h>int fun(int m){/**********Program**********//********** End **********/}main(){int y;y=fun(20);printf("y=%d\n",y);}『答案』----------------------int i,k,s=0;for(i=2;i<=m;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)s=s+i;}return s;/*------------------------------------------------ 【程序设计】--------------------------------------------------题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。
------------------------------------------------*/#include <stdlib.h>#include <stdio.h>#define N 3int sum(int a[][N]){/**********Program**********//********** End **********/}main(){int a[N][N],i,j;for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=random(10)+10;printf("%3d",a[i][j]);}printf("\n");}printf("===================\n"); printf("sum=%5d\n",sum(a));}『答案』----------------------int i,j,k=0;for(i=0;i<N;i++)for(j=N-1-i;j<N;j++)k=k+a[i][j];return(k);----------------------2、计数问题/*------------------------------------------------ 【程序设计】--------------------------------------------------功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
《C语言程序设计》复习资料

《C语言程序设计》课程期末复习资料一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
A) print _3d oodb aBcB) i\am one_half start$it 3paiC) Pxq My->book line# His.ageD) str_l Cpp pow while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) 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);屏幕显示____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》课程期末复习资料一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
A) print _3d oodb aBcB) i\am one_half start$it3paiC) Pxq My->bookline#His.ageD) str_l Cpp pow while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) 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) -32768 C) 1 D) 32768【1.11】已知long i=65539;执行语句printf("%d",i);屏幕显示____。
A) 65539 B) -3 C) 3 D) 程序不能执行【1.12】在C语言中,整数-8在内存中的存储形式是。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000C) 0000 0000 0000 1000 D) 1111 1111 1111 0111【1.13】C语言中字符型(char)数据在内存中的存储形式是____。
A) 原码B) 补码C) 反码D) ASCII码【1.14】将字符g赋给字符变量c,正确的表达式是。
A) c=\147 B) c="\147" C) c='\147' D) c='0147'【1.15】下列转义字符中错误的一个是____。
A) '\000' B) '\0014' C) '\x111' D) '\2'【1.16】将空格符赋给字符变量c,正确的赋值语句是____。
A) c='\0' B) c=NULL C) c=0 D) c=32【1.17】已知:char a='\70';则变量a中。
A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明非法【1.18】字符串"\"EOF\n=-\61\""的长度是____。
A) 8 B) 9 C) 14 D) 非法字符串【1.19】字符串""的长度是____。
A) 0 B) 1 C) 2 D) 非法字符串【1.20】已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是。
A) int B) char C) float D) double【1.21】温度华氏和摄氏的关系是: C=-(F-32)。
已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。
A) C=5/9(F-32) B) C=5*(F-32)/9C) C=5/9*(F-32) D) 三个表达式都正确【1.22】逗号表达式"(a=3*5,a*4),a+15"的值是____。
A) 15 B) 60 C) 30 D) 不确定【1.23】如果int a=1,b=2,c=3,d=4;则条件表达式"a<b?a:c<d?c:d"的值是____。
A) 1 B) 2 C) 3 D) 4【1.24】为求出s=10!的值,则变量s的类型应当为。
A) int B) unsiged C) long D) 以上三种类型均可【1.25】已知int i=10;表达式"20-0<=i<=9"的值是____。
A) 0 B) 1 C) 19 D) 20【1.26】已知int x=1,y;执行下述语句后变量x的值是____。
y=++x>5&&++x<10;A) 1 B) 2 C) 3 D) 4【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)【 1.28】已知int a[3][2]={3,2,1};则表达式"a[0][0]/a[0][1]/a[0][2]"的值是____。
A) 0.166667 B) 1 C) 0 D) 错误的表达式【1.29】已知int x=1,y=1,z=1;表达式"x+++y+++z++"的值是____。
A) 3 B) 4 C) 5 D) 表达式错误【1.30】用十进制表示表达式"12|012"的值是____。
A) 1 B) 0 C) 12 D) 14【1.31】已知以下程序段:int a=3,b=4;a=a^b;b=b^a;a=a^b;则执行以上语句后a和b的值分别是____。
A) a=3,b=4 B) a=4,b=3 C) a=4,b=4 D) a=3,b=3【1.32】在位运算中,操作数每右移一位,其结果相当于____。
A) 操作数乘以2 B) 操作数除以2 C) 操作数除以16 D) 操作数乘以16【1.33】已知char a=222;执行语句a=a&052;后,变量a的值是____。
A) 222 B) 10 C) 244 D) 254【1.34】已知二进制数a是00101101,如果想通过整型变量b 及a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是____。
A) 11110000 B) 00001111 C) 11111111 D) 00000000【1.35】已知int a=15,执行语句a=a<<2以后,变量a的值是____。
A) 20 B) 40 C) 60 D) 80【1.36】已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。
A) 0 B) 1 C) 5 D) 6【1.37】使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是____。
A) 1.25,2.4 B) 1.25□2.4C) x=1.25,y=2.4 D) x=1.25□y=2.4【1.38】下列循环语句中有语法错误的是____。
A) while(x=y) 5;B) while(0) ;C) do 2;while(x==b);D) do x++ while(x==10);【1.39】已知int x=(1,2,3,4);变量x的值是____。
A) 1 B) 2 C) 3 D) 4【1.40】表达式sizeof(double)是。
A) 函数调用B) double型表达式C) int型表达式D) 非法表达式【 1.41】执行语句printf("2:%d,",printf("1:%d,",scanf("%d",&x)));以后的输出结果是____。
A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4,【1.42】已知:int x,y;double z;则以下语句中错误的函数调用是。
A) scanf ("%d,%lx,%le",&x,&y,&z);B) scanf ("%2d*%d%lf",&x,&y,&z);C) scanf ("%x%*d%o",&x,&y);D) scanf ("%x%o%6.2f",&x,&y,&z);【1.43】及条件表达式"(n)?(c++):(c--)"中的表达式(n)等价的表达式是____。
A) (n==0) B) (n==1) C) (n!=0) D) (n!=1)【1.44】已知int i=1,j=0;执行下面语句后j的值是____。
while(i)switch(i){ case 1: i+=1;j++;break;case 2: i+=2;j++;break;case 3: i+=3;j++;break;default: i--;j++;break;}A) 1 B) 2 C) 3 D) 死循环【1.45】求取满足式12+22+32+ ……+n2 ≤1000的n,正确的语句是____。
A) for(i=1,s=0;(s=s+i*i)<=1000;n=i++) ;B) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;C) for(i=1,s=0;(s=s+i*++i)<=1000;n=i) ;D) for(i=1,s=0;(s=s+i*i++)<=1000;n=i) ;【1.46】下面的for语句。