(完整版)打印一下-C语言期末复习资料

合集下载

C语言期末复习资料

C语言期末复习资料

一、单项选择题1、在C语言中,要求操作数必须是整型的运算符是()。

A、/B、+C、!=D、%2、C语言程序是由()组成的。

A、函数B、子程序C、过程D、主程序和子程序3、以下叙述正确的是()。

A、在C程序中,main()函数必须位于程序的最前面B、C程序的每一行中只能写一个语句C、在对一个C程序进行编译时,可发现注释中的拼写错误D、C语言本身没有输入输出语句4、一个C程序的执行是从()。

A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束5、语句while(!n)中的条件!n等价于()。

A、n==0B、n==1C、n!=1D、n!=06、实参和和形参之间的数据传送是()。

A、地址传送B、实参传给形参,再由形参传给实参C、单向值传送D、由用户指定传送方式7、下列自定义标识符中,符合C语言规定的是()。

A、forB、3aC、*aD、_1238、以下叙述错误的是()。

A、for循环需要循环变量,while/do-while不需要循环变量B、for循环、while循环先判断后执行C、do-while循环总是至少执行一次D、for、while、do-while循环的循环体均可为空语句9、C语言标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A、必须是字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字或下划线中任一字符10、下列整数值中,不正确的八进制或十六进制的是()。

A、0x18B、016C、086D、0x5C11、若有定义:int a,b;则表达式:(a=2,b=5,b++,a+b)的值是()。

A、2B、6C、7D、812、对于int a=6;表达式1<=a<=5的值是()。

A、0B、1C、不定 D、表达式有语法错误13、执行下面的程序片段,描述正确的是()。

大一期末c语言复习题库

大一期末c语言复习题库

大一期末c语言复习题库C语言作为计算机科学与技术专业学生的一门基础课程,对于理解计算机程序设计的原理和思想具有重要意义。

以下是为大一学生准备的C语言期末复习题库,涵盖了C语言的基本概念、数据类型、控制结构、数组、函数、指针、结构体、文件操作等重要知识点。

# 一、基本概念1. 解释C语言的特点。

2. 描述C语言的基本结构,包括预处理指令、函数、语句和注释。

3. 列举C语言中的基本数据类型,并解释它们的区别。

# 二、变量与数据类型1. 什么是变量?如何声明变量?2. 解释整型(int)、浮点型(float)、双精度型(double)和字符型(char)的区别。

3. 写出C语言中不同数据类型所占的存储空间大小。

# 三、运算符与表达式1. 列举C语言中的算术运算符,并给出示例。

2. 描述赋值运算符的用法。

3. 解释条件运算符(?:)的用法。

# 四、控制结构1. 描述if语句的用法,并给出一个例子。

2. 解释while循环和do-while循环的区别。

3. 写出for循环的一般形式,并解释其组成部分。

# 五、数组1. 什么是数组?数组有哪些类型?2. 如何声明和初始化一维数组和二维数组?3. 写出一个程序,实现冒泡排序算法。

# 六、函数1. 解释函数的定义和声明。

2. 描述函数参数的传递方式(值传递和引用传递)。

3. 写出一个自定义函数,实现求最大值的功能。

# 七、指针1. 解释指针的概念和用途。

2. 写出一个程序,使用指针交换两个变量的值。

3. 解释指针数组和数组指针的区别。

# 八、结构体1. 什么是结构体?如何定义结构体?2. 写出一个程序,使用结构体存储学生信息。

3. 解释结构体指针的用法。

# 九、文件操作1. 解释文件的概念和分类。

2. 描述文件的打开、关闭、读写操作。

3. 写出一个程序,实现将数据写入文件,并从文件中读取数据。

# 十、综合应用1. 编写一个程序,实现学生成绩管理系统,包括录入、查询、修改和删除功能。

C语言期末考试复习资料

C语言期末考试复习资料

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语言程序设计期末复习资料

第一章——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语言期末复习资料

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语言期末复习.doc

C语言期末复习.doc

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’。

C语言期末复习必备资料

C语言期末复习必备资料

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语言期末复习资料

第一部分: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页程序给出的任务数据可以是基本类型的,也可以是集合性质的。

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

期末复习第一部分:C中的数据首先,从主调函数和被调函数(模块间)要处理的任务数据的角度来总结数据的知识点:C语言中所讲授的数据有基本类型(整型、实型和字符型)和构建类型(数组、结构体、共用体、链表结点)之分。

构建类型是由基本类型构建而成,因此我们有必要对基本类型的数据做以更细致的研究。

一.基本类型的数据程序中的数据无非是以常量和变量两种形式描述。

在这里我们不妨思考两个问题:(1)为什么要用变量?(2)常量经常用在什么地方?(一)常量对于基本类型常量我们要掌握:常量分几类?每类的书写规则是什么?(1)整型常量:有十、八、十六进制三种表示形式。

(3.3.1、3.3.3)(2)实型常量:有小数和指数两种表示形式.(3.4.1、3.4.3)(3)字符型常量:有普通字符(可以是ASCII码表中的任何一个字符)、转义字符(表示控制命令的转义字符和用八进制十六进制描述的转义字符)(3.5.1)(4)字符串常量(3.5.4)(5)符号常量:实际上是不带参数的宏定义(3.2.1 、9.1.1)对于常量部分的考察无非是辨别书写形式,字符类的常量特别注意转义字符的辨认。

这就要求我们熟记书写规则。

例如以下题目:t-1:下面哪个是正确的整型常量表示A)019 B)0X34g C)-123D)o56 E) 12,000t-2: 下面哪个是错误的实型常量表示A).23 B)3.8E-4.5C)45E12 D)92.45t-3: 下面哪个是正确的字符常量表示:A)”b”B)’\\’C)’\34’D)’\0x9’E)’0123’t-4: 下面那个是正确的字符串常量表示:A)’abc’B)“”C)“”D)“\0x120”E)”abRT\0\\”F)”A”t-5: 字符串“ab034\0\\t\v\012”存储需要多少个字节?先组合转义字符,11个字节t-6: puts(“ab034\0\\t\v\012”);的结果是ab034?strlen(“ab034\0\\t\v\012”)的值是5?(二)变量对于基本类型的变量,我们知道要使用变量必须先定义变量,定义的基本格式是:数据类型变量名;要正确定义变量就必须清楚两点(1)什么样的变量名才是合法的?(3.2.2)(2)如何用类型符来描述所要定义的变量,这就涉及到变量所分配的字节数、存储特点、有无符号及各自表示的数值范围等。

变量的三大类:(1)整型变量(3.3.2)分配字节:2字节(int/short) 4字节(long)(TC2.0)存储特点:存储的是数值的补码形式符号标识:signed unsigned表示数值范围:表3-1(2)实型变量(3.4.2)分配字节:4字节(float) 8字节(double) 16字节(long double)存储特点:图3-7表示数值范围:表3-2(3)字符型变量(3.5.2、3.5.3)分配字节:1字节(char)存储特点: 存储字符的ASCII值符号标识:signed unsigned表示数值范围:signed char: -128~+127Unsigned char: 0~255基本类型变量这部分知识主要的考察形式:(1)变量名(标识符)的正确与否鉴别(2)变量类型标识符的识别与应用(3)变量定义语句中对变量进行初始化的形式正确与否鉴别(3.6)例如以下题目:t-7: 以下正确的变量标识符是:A)3sum B)INT C)_3max D)case E)p&sum F)s_m_at-8: 以下正确的变量类型声明是:A)signed int B)int long C)unsigned long D)short longt-9: 下面程序段在tc2.0和cfree3.0运行时的输出各为-1 / 65535?unsigned int a=65535;printf("%d",a);t-10: 以下正确的定义语句是: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(二)建构类型的数据程序给出的任务数据可以是基本类型的,也可以是集合性质的。

集合中的所有数据可以是同类型的即数组(7.1.1~7.1.3、7.2.1~7.2.3、7.3.1~7.3.4),也可以是不同类型的(例如学生记录)即结构体(11.1~11.5)。

在这部分知识中主要考察的形式有:(1)数组及结构体的定义、初始化和引用(2)计算集合(数组、结构体变量)存储所需要的空间(3)数组定义时缺省形式的一些规则:●在定义一维数组时,若给出了所有初始值则一维中括号内的数值可以省略,由初始值的个数来确定其值。

但若没有给出初始值,则不能省略中括号内的值。

例如:int a[]={1,2,3}; int b[]={3};都对。

int a[]; 不对。

●二维数组的第2维列数任何情况下都不能缺省,第1维中的数值若在给出初始值的按情况下可以缺省。

例如int a[2][]={{1,2}{3,4}}不对。

inta[][2]={1,2,3,4,5};正确。

(4)只有在数组定义时可以给数组整体赋值,不能单独用赋值运算“=”给数组整体赋值,特别是字符串数组。

例如int a[3]; a={1,2,3}; char b[10];b=”china”; char c[2][10]; c[0]=”chian”;c[1]=”japan”都不对, 只能是int a[3]={1,2,3};char b[10]=”china”; char c[2][10]={“china”,”japan”};(5)函数体内定义的数组名是地址常量,而由数组名表示的一些表达式也是常量表达式。

如int a[3]={1,2,3}; a,a+i都是常量。

int b[3][3]={..};b,b[0],b+i,*(b+i)也都是常量形式。

常量形式意味着该式只能出现在等号的右边,而不能作为左值。

例如以下题目:t-11: 以下正确的数组定义形式是:A)int n; scanf(“%d”,&n); int a[n];B)#define N 10 int a[N]; C)int b[3][4];D)char b[ ][4];t-12: 以下不正确的数组定义和初始化形式是:A)int a[]={1,2,3}; B) int a[]={0}; C) int a[][3]={1,2,3,4};D)int a[2][2]={{1,1},{2,2},{3,3}} E) char a[10]={“hello”}; F) char a[]=”hello”;G)int a[2][]={{1,1},{2,2}}; H) char a[10]; a=”hello” ;I)char a[2][10]; a[0]=”hello ”;a[1]=”tom”; J) char a[2][10]={“hello”, “tom”};t-15: 若有数组int a[2][2]={1,2,3,4},则能引用数组元素4的形式为:A) a[1][2] B) *(a+1) C) *(*(a+1)+1) D) *(a+3) E) a[1][1] F) *(a[1]+1)t-16: 若有数组int a[3]={1,2,3};则能引用数组元素2的形式为:A) a[1]B) *(a+1) C) &a[1] D) a+1t-11: 以下正确的数组定义形式是:A)int n; scanf(“%d”,&n); int a[n];B)#define N 10 int a[N];C)int b[3][4];D)char b[ ][4];t-17: 若有如下程序段,则对于“TOM”串中首字符T的正确引用形式为:struct A{int age;char name[10];};Struct A t[2]={1,”TOM”,2,”MIKE”},*p=t;A)(*p).name B) t[2].name C)t[1].name[0] D)p->name[0]第二部分:数据的输入输出讨论完C中的数据我们再讨论各种数据的输入与输出。

如果数据输入不当再完美的程序也不可能显示出预期的结果。

这部分作业的输入出现的问题较多,我们要熟记输入规则但不能死记硬背。

下面的这三对函数都包含在文件“stdio.h“中,因他们的输入输出终端是标准设备-键盘和显示器,因此称为标准的IO函数,标准IO函数的使用与缓冲区有密切的联系。

学习本部分时最重要的是要理解输入缓冲区中数据流和输入函数格式匹配的输入机制(参见本章手册中的参考资料)C中的输入输出是调用系统库函数来实现的,常见有三对库函数:(1)s canf()/printf(): 可输入输出任何类型的数据。

一次函数调用可以实现多个数据的IO。

(2)g ets()/puts():只对字符串数据进行输入输出操作。

一次函数调用只可实现一个串的IO。

(3)g etchar()/putchar():只对字符数据进行输入和输出操作。

一次函数调用只可实现一个字符的IO。

对于这几对函数的使用主要考察:(1)s canf、printf的使用规则(4.5,可参考本章教学目标)(2)g etchar和putchar的使用格式(4.4)(3)g ets与scanf的使用区别例如以下题目:t-18:若有程序段int a; float x; char c[10];scanf(“%2d%f%s”,&a,&x,c);当程序执行时从键盘输入 23456.78abcd<CR> ,a=23 x=456.78、和 c=”abcd”t-19:若有定义int a;float b; 则scanf(“a=%d;b=%f”,&a,&b);的输入形式是a=3;b=4.5t-20:若有定义float x;则语句scanf(“%5.2f”,&x)是否正确?不正确t-21:若有定义char a,b;对于scanf(“%c%c”,&a,&b);若输入A B<CR>,则a=A b=空格?t-22:若用getchar()函数输入一个字符存储到字符变量ch中再将其输出,则以下正确的写法是:A)getchar(ch); B) ch=getchar(); C) ch=putchar(); D) putchar(ch);t-23: 若有语句scanf(“%s”,a); 程序运行时若输入hello tom!<CR>,则存储到a中的串是“hello”t-24: 若有int a=97; float x=34.56; char c=’B’;则语句printf(“%c %d %d”,a,x,c)的输出是a 34 66t-25: 若有程序段:char a, b , s[10],t[10];a=getchar();b=getchar();gets(s);gets(t);printf("a=%c,b=%c,s=%s,t=%s",a,b,s,t);程序运行时若输入A<CR>B<CR>Hello<CR>TOM<CR>程序输出是a=A,b=<CR> ,s=B,t=HELLOt-26: 若有如下定义,写出每个变量对应的格式符。

相关文档
最新文档