c语言期末复习资料
- 格式:docx
- 大小:37.59 KB
- 文档页数:5
选择题1、以下不是C语言基本数据类型的是D。
A.字符型B.C.整型D.构造类型2、以下B是八进制数。
A.1X12 B.123C.1001 D.01233、Turbo C中,char类型变量所占字节数是B。
A. 2 B. 1C. 3 D. 44、C语言提供的合法的数据类型关键字是B。
A.longer B.shortC.integer D.character5、C语言中运算对象必须是整型的运算符是A。
A.%= B.==C.+= D.*=6、下面关于字符串和字符常量的叙述中错误的是C。
A.字符常量由单引号括起来,字符串常量由双引号括起来B.字符常量只能是单个字符,字符串常量可以含一个或多个字符C.字符常量占一个字节的内在空间,字符串常量占的内在字节数为字符串中字符数D.可以将一个字符常量赋予一个字符变量,但不能将一个字符串常量赋予一个字符串变量7、以下程序的输出结果是D。
main(0{ int m = 10, n = 3;printf( " %d\n ", n = m / n ) ;}A.10 B.11C.13 D. 38、若以下变量均已正确说明为char类型,要给x、y和z输入数据,正确的是B。
A.scanf ( x, y, z );B.scanf ( "%c%c%c", &x, &y, &z ) ;C.scanf ( "%C%C%C", x, y, z ) ;D.scanf ( "%c%c%c", x, y, z ) ;9、以下程序的输出结果是C。
char c1, c2;c1=65; c2 = 65 + 32 + 1 ;printf ( "%c, %c ", c1, c2 ) ;A.a, B B.A, BC.A, b D.a, b10、以下程序的输出结果是C。
#include "stdio.h"#include "math.h"main(){ int a=3, b=9 ;float y, x=1.2 ;y= ( a+b ) / sqrt ( b ) * x ;printf ( "%\n", y ) ; }A. 1.000000 B. 1.400000C. 4.800000 D. 1.90000011、以下程序段的输出结果是7 6 7。
1.C程序的源程序由预处理命令和( )组成。
(A)函数(B) 语句(C) 保留字(D) 标识符2. 下面程序段中,与if(x%2)中的x%2所表示条件等价的是( )。
scanf("%d",&x);if(x%2) x++;(A)x%2==0 (B) x%2!=1 (C) x%2!=0 (D) x%2==13. 执行下面的C语句序列后,变量b的值是( )。
int a,b,c; a=b=c=1; ++a||++b&&++c;(A) 错误(B) 0 (C) 2 (D) 14. 设有C语句int a[3][4];,则每次移动过a数组一行元素的指针变量定义形式是( )。
(A)int *p; (B)int **p;(C)int (*p) [4]; (D)int *p[4];5.设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
(A) int (B) float (C) double (D) 不能确定6.C语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是( )。
(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式7.下面程序的输出是()。
#include <stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}(A)0 (B)1 (C)3 (D)不确定的值8.执行下面的程序段后,B的值为()。
int x=35;char z='A';int B;B=((x&15)&&(z<'a'));(A) 0 (B) 1 (C) 2 (D) 39.以下程序的输出结果为()。
#include <stdio.h>void main(){int i=0;for(;;)if(i++==5)break;printf("%d\n",i);}(A) 0 (B) 5 (C) 6 (D) 前3个选项都错10.已知:char s[4] = "cba"; char *p; 执行语句序列p =s;printf("%c\n",*p+1);后,其输出为()。
C语⾔期末考试复习资料C语⾔复习摘要⼀、数据类型:基本类型(整型、实型、字符型、枚举类型),构造类型(数组、结构体、共⽤体)、指针类型、空类型。
基本类型也叫简单类型,构造类型也叫复杂类型⼆、标识符:标识符只能由字母、下划线、数字构成,且必须以字母或下划线开头,且对字母的⼤⼩写敏感。
三、常量1、整型常量,如:32,0x32,0X32,0x3f,0xea,8L,8l,0672、实型常量,如:3.14,1e23,0.8E8,0.8E-8,0.8E+83、字符常量,如:‘a’, ‘\n’, ‘\w’,‘\\’,‘\0’4、字符串常量,如:“windows”,“a”,(其赋值表达式和赋值语句中其本质是⼀个地址常量)5、地址常量,若有定义:int k,a[10];char s[20];则:&k,a,s,NULL都是地址常量6、符号常量,⽤宏定义实现,如:#define PAI 3.14159267、以下都是⾮法常量:0xfg,3.1e2.8,‘aw’,‘w\’,0x,068四、表达式(要点:先确定表达式的类型,再确定表达式的值的类型,最后确定表达式的值):1、算术表达式(应注意变量类型的⾃动转换——原则:低级向⾼级转换):(1)、整型表达式:参加运算的都是整型量,结果也是整型数。
如:x+20*9+3(2)、实型表达式:参加运算的都是实型量,运算过程中先转换成double型,结果也是double型。
如:x+20*9+3.0,x+20*9+sqrt(3)2、赋值表达式:将赋值运算符“=”右边的值赋给左边的变量,其值为赋值后左边变量的值,类型为左边变量的类型。
如:x=3(注:若x为整型变量,则该表达式的值为整型,若x实型变量,则该表达式的值为实型)3、逻辑表达式:⽤逻辑运算符(!,&&,||)连接的整型量,结果为整数(0或1)。
逻辑表达式可认为是整型表达式的⼀种特殊形式。
如:((x=3)&&(y=0))4、关系表达式:⽤关系运算符将两个表达式连接起来的式⼦,结果为整数(0或1)。
第一章——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语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。
参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
C语言规定以字符’\\0’作为字符串结束标志。
如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。
一、选择题:1.‖a‖在内存中占 B 字节。
A.1个B.2个C.3个D.4个2.‘A‘+10的结果是 A 。
A.‘K‘B.‖K‖C.‘J‘D.‖J‖3.字符型数据在微机内存中的存储形式是:DA.反码 B.补码 C.EBCDIC码 D.ASCII码4. 用C语言编制的源程序要变为目标程序,必须经过:DA. 汇编B.解释C. 编辑D.编译5.以下选项中不合法的用户标识符是AA.abc.cB.fileC.MainD.PRINTF6.以下选项中正确的实型常量是 DA.0B.3. 1415C.0.329 102D. .8717. 执行scanf (―%d%c%f‖,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 C .A. a=1234 b=‘a‘c=12.56B. a=1 b=‘2‘c=341256C. a=1234 b=‘a‘c=12.0D. a=1234 b=‘a12‘c=56.08. 设b=1234 , 执行printf(―%%d@%d‖,b) 语句,输出结果为: D .A. 1234B. %1234C. %%d@1234D. %d@ 12349. 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 A 。
main(){ int x;scanf(―%d‖,&x);if(x++>5)printf(―%d‖,x);elseprinf(―%d\n‖,x--);}A. 7和5B. 6和5C. 7和4D. 6和410. 设a为整型变量,不能正确表达数学关系: 10<a<15的C语言表达式是 A 。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)11. 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是: B 。
1、函数fun的功能是计算x^n。
double fun(double x,int n){int i; double y=1;for(i=1;i<=n;i++) y=y*x;return y;}主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。
实现这一计算的函数调用语句为______。
答案: 1:fun(a,4)+fun(b,4)-fun((a+b),3)评析:函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),所以,实现m=a^4+b^4-(a+b)^3这一计算的函数458调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。
知识点:知识点/函数/破函数的正确调用,嵌套调用,递归调用2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。
请填空。
void sstrcpy(char *s,char *t){ while(*s++=______);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);} 答案: 1:*t++评析:要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。
或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。
知识点:知识点/指针/用指针作函数参数3、以下程序给指针p分配三个double型动态内存单元,请填空。
#include <stdlib.h>main(){ double *p;p=(double*)malloc(______);p[0]=1.5; p[1]=2.5;p[2]=3.5;printf("%f%f%f\n",p[0],p[1],p[2]);} 答案: 1:3*sizeof(double)评析: malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。
第一部分:C 中的数据首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的 知识点:C 语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。
构建类型是由基本类型构建而成,因此我们有必要 对基本类型的数据做以更细致的研究。
一.基本类型的数据程序中的数据无非是以常量和变量两种形式描述。
在这里我们不妨思考两个问题:(1)为什么要用变量? ( 2)常量经常用在什么地方?(一)常量对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3 )(3)字符型常量:有普通字符(可以是 ASCII 码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(4)字符串常量(3.5.4 )(5)符号常量:实际上是不带参数的宏定义(3.2.1、9.1.1 )对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。
这就要求我们熟记书写规则。
例如以下题目:t-1 :下面哪个是正确的整型常量表示t-2:下面哪个是错误的实型常量表示期末复习(1)整型常量:有十、八、十六进制二种表示形式。
(331、333 )(3.5.1 )A)019B)0X34g C)-123 D)o56 E) 12,000A).23B)3.8E-4.5C)45E12D)92.45t-3:下面哪个是正确的字符常量表示:t-4:下面那个是正确的字符串常量表示:的值是5 ?(二)变量对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是: 数据类型 变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(322)( 2)如何用类型符来描述所要定义的变量, 这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。
变量的三大类:(1)整型变量(3.3.2)分配字节:2 字节(int/short ) 4 字节(long ) ( TC2.0)存储特点:存储的是数值的补码形式(2)实型变量(3.4.2)(float ) 8 字节(double ) 16 字节(long double )存储特点:图3-7A) ” b ”B)'' C) '\34 ' D)'\0x9 ' E) '123't-5:t-6:A) abc'E) ” F) ” A ”B)C) “”D)“ \0x120”字符串“ ab034\0\\t\v\012 ”存储需要多少个字节? 先组合转义字符,11个字puts( “ ab034\0\\t\v\012 ”);的结果是 ab034? strlen( “ab034\0\\t\v\012 ”)符号标识:sig ned un sig ned表示数值范围:表3-1分配字节:4字节期末复习资料 第10页-总24页表示数值范围:表3-2(3)字符型变量(3.5.2、3.5.3 )分配字节:1字节(char )存储特点:存储字符的ASCII 值 符号标识:sig ned un sig ned 表示数值范围:sig ned char: -128~+127Un sig ned char: 0~255基本类型变量这部分知识主要的考察形式:(1)变量名(标识符)的正确与否鉴别 (2) 变量类型标识符的识别与应用(3)变量定义语句中对变量进行初始化的形式正确与否鉴别 (3.6)例如以下题目:F 面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535un sig ned int a=65535; prin tf("%d",a);A)int a=b=5 ; B)char ch=97 ; C)unsigned int x, y=-5; D)int a=3,b=5;E ) int c=3(二)建构类型的数据t-7:以下正确的变量标识符是:A)3sum B)INTC) 3maxD)case E)p&sumF)s m at-8:以下正确的变量类型声明是:A)si gned intB)i nt longConsigned longD)shortlongt-9:t-10:以下正确的定义语句是:期末复习资料 第10页-总24页程序给出的任务数据可以是基本类型的,也可以是集合性质的。
一般转义字符:背诵\0、\n 八进制转义字符: 十六进制转义字符:'\x6cl ,\b 将当前位置移到前一列\n 将当前位置移到下一行开头\t 跳到下一个TAB 位置 \\代表一个反斜线字符'’\,\〃代表一个双引号字符\0空字符(NULL )1. 程序屮基本的控制结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2. 读程序都要从main ()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main 函数。
3. 计算机的数据在电脑中保存是以二进制的形式。
数据存放的位置就是它的地址。
4. bit 是位,是指为0或者1。
byte 是指字节,一个字节二八个位。
5. 编译预处理不是C 语言的一部分,不占运行时间,不要加分号。
(常考!)^define PI 3. 1415926; 这个写法是错误的,一定不能出现分号。
6. 每个C 语言程序中main 函数是有且只有一个。
7. 用C 语言编写的程序称为源程序,扩展名是.co C 程序必须经过编辑、编译、链接、运行四个步骤才可得到运行 结果。
注意.c 和.obj 文件时无法运行的,只有.exe 文件才可以运行。
(常考!)8. C 语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行。
9. 一个C 语言程序有且只有一个main 函数,是程序运行的起点。
10. Cfree 、VC/VC++、CodeBlock 等是软件,用来运行写的C 语言程序。
(编译环境)11. 标识符(必考内容):合法的要求是由字母,数字,下划线组成。
并且第一个必须为字母或则是下划线。
第一个为数字就错了12. 标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main 、define 、scanf> printf 都不是关键字。
迷惑你的地方是If 、Main 等可以做为用户标识符。
If 、Main 中的第一个字母大写预定义标识符:如define 、scanfs printf> include 。
c语言期末复习资料
C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。
由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。
期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。
一、基础知识
1.变量和数据类型
C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。
常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。
掌握变量和数据类型的定义和使用是C 语言学习的第一步。
2.运算符和表达式
C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。
表达式是由变量和运算符组成
的代码段,用于对变量进行操作和计算。
掌握运算符和表达式的使用和规则是C语言学习的基础。
3.条件语句和循环语句
条件语句和循环语句是C语言中的两种重要的控制结构。
条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。
循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。
掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。
二、进阶技巧
1.字符数组和字符串
字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。
字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。
掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。
2.函数和指针
函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。
指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。
掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。
3.结构体和文件操作
结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。
文件操作是C语言中用于对文件进行读取和写入的技术,能够更好地处理文件输入输出等问题。
掌握结构体和文件操作的使用和规则,能够更好地解决程序中的实际问题。
三、学习建议
1.掌握基础知识
C语言的语法和规则相对简单,但是需要反复学习和练习才能
够真正掌握。
加强对基础语法和规则的学习和练习,对于后续学
习和应用都将有重要的作用。
2.多练习和实战
C语言的学习只有通过实际练习和应用才能够真正掌握。
充分
利用各种练习和实战机会,尽量多实践和应用所学的知识和技巧。
3.注重理解和思考
C语言学习过程中不仅要掌握语法和规则,更要注重对C语言
内部原理和机制的理解和思考。
只有深入理解C语言内部运行的
原理和机制,才能够更好地应对各种问题和挑战。
四、总结
通过上述的资料和建议,相信考生们已经对C语言期末复习有
了更清晰的认识和更明确的思路。
期末考试只是C语言学习的一
个阶段,只有通过不断学习和实践,才能够真正掌握C语言这门编程语言,为以后的学习和工作打下坚实的基础。