C期末复习资料
C语言期末复习资料

选择题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。
c语言期末复习资料3

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语言期末复习资料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语言程序设计基础知识期末复习2023年修改整理

C语言程序设计基础知识期末复习一、 C语言与算法1.程序:一组计算机能识别和执行的指令。
2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的操纵语句。
3.C语言程序的结构特点:(1).一个程序由一个或多个源程序文件组成:一个源程序文件中能够包括三个部分:预处理指令、全局声明、函数定义(2).函数是C程序的要紧组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数能够是库函数,也能够是自己编制设计的函数。
(3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作)(4). 程序总是从main函数开始执行(5). C程序对计算机的操作由C语句完成(6.)数据声明和语句后来必须有分号(7.)C语言本身不提供输入输出语句(8.)程序应当包含注释,增加可读性4、算法(1)算法+ 数据结构= 程序(2)顺序结构、抉择结构、循环结构是表示一个良好算法的基本结构(3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。
流程线不要忘记画箭头,否则难以判定各框的执行次序。
算法流程图的结构特点:只有一个入口;只有一个出口(一个推断框有两个出口;一个抉择结构只有一个出口)结构内的每一部分都有机遇被执行到。
也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。
二、顺序结构设计5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。
C语言对标识符的规定:(1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线(2)长度:在TC中最多允许32个字符,建议不要超过8个假如系统规定标识符长度为8,那样x1234567A和x1234567B会被视为同一标识符。
C语言程序设计期末复习

②doudb!le=
float
f &&
int
(i+1)
int
③dou4b.0le
int
*i
char
+ c double
【14】 A) double, double, double (或float)
B) int, double, char
✓C) int, int, double (或float) D) unsigned, unsigned, int
② 其他可打印(可显示)的字符,如汉字等自然语言 符号(作为字符串的内容)
[注意] C/C++语言是区分大小的语言 !
(详见P377 附录B)
8
zxl.xmu.2014
关键字
关键字/保留字 —— C语言程序中有特殊含义 的英文单词,主要用于构成语句、定义存储类 型和数据类型。
✓ C语言中仅有37个关键字
else continue;
printf("%4d",n); }
break; 仅输出: 100 }
输出【:131】00A1)01fo1r0(3n=1100401;0(n6%1037)&…&…n<=200; n++) printf("%4d",n); B) for (n=100; (n%3)||n<=2仅00输; n出++:) p1ri0n0tf1("0%1 4d",n);
非法字符举例:M.D.John,$123,1AB,d e
11
zxl@xmu
运算符(共34种,详见P378《附录D》)
• 目/元——运算时所需运算对象(操 作数)的个数。
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语言!!!!{考期必备神器}](https://img.taocdn.com/s3/m/96c79705680203d8ce2f24a9.png)
C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。
]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。
【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。
【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:。
【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。
【输入形式】从键盘输入三位的正整数。
【输出形式】输出交换后的正整数值。
【输入样例】 356 【输出样例】 653 【样例说明】从键盘输入的正整数值为356,将该数的个位与百位互换,所得结果为653.如果输入的正整数为300,则输出为3。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:。
【问题描述】从键盘输入三个整数,分别存入x,y,z三个整型变量中,计算并输出三个数的和以及平均值。
【输入形式】从键盘输入三个整数,整数之间以空格隔开。
【输出形式】在屏幕上分两行显示结果:第一行为三个数的和,整数形式输出;第二行为三个数的平均值,浮点数形式输出,小数点后保留两位小数。
【输入样例】 3 2 3 【输出样例】 8 【样例说明】 3、2、3的和为8,所以第一行输出8;第二行输出3、2、3的平均值(保留两位小数)。
【评分标准】结果完全正确得20分,每个测试点4分。
C语言期末复习资料

单项选择题1.char *p[10];该语句声明了一个: C 。
A) 指向含有10个元素的一维字符型数组的指针变量pB) 指向长度不超过10的字符串的指针变量pC) 有10个元素的指针数组p,每个元素可以指向一个字符串D) 有10个元素的指针数组p,每个元素存放一个字符串2.在while(!x)语句中的x与下面条件表达式等价的是: D 。
A) x!=0 B) x==1 C) x!=1 D) x==03.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。
A) *(a+j*n+i) B) *(a+i*n+j)C) *(*(a+i)+j) D) *(*a+i)+j4 union{double k;char c;float a;}test;则sizeof(test)的值是: A 。
A)8 B)1 C)4 D)135、下面程序的输出是____D_____#include<stdio.h>void main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);(%o为8进制输出,%x为16进制输出)}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=B6、在下列选项中,不正确的赋值语句是____D____.(在变量说明中,不允许连续给多个变量赋初值,而赋值语句允许连续赋值。
如下述说明是错误的:)A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;7、下面合法的C语言字符常量是_____A_____.A) '\t' B) "A" C) 65 D) A8、表达式: 10!=9的值是______D__ ___.A) true B)非零值C) 0 D) 19、C语言提供的合法的数据类型关键字是_____B___.A) Double(应该为double)B) shortC) integer(应该为int)D) Char(应该为char)10、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码11、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符12、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____D__A) 552 B) 264 C) 144 D) -26413、执行下面程序中的输出语句后,输出结果是__B____.#include<stdio.h>void main(){int a; printf("%d\n",(a=3*5,a*4,a+5)); }A) 65 B) 20 C) 15 D) 1014、下面程序的输出是__B________.#include<stdio.h>void main(){int x=023; (八进制)printf("%d\n",--x); }A) 17 B) 18 C) 23 D) 2415下面程序的输出的是___C______.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值16、已知字母A的ASCII码为十进制的65,下面程序的输出是_______A____. #include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_____.A) a<>0 B) !a C) a=0 D) a18、以下程序的输出结果是__D______.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y); }A) 10 10 B) 9 9 C) 9 10 D) 10 919、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_D_______.A) 1 B) 0 C) 4 D) 320、为表示关系x≥y≥z,应使用C语言表达式____A__.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) & (y>=z)21、C语言中非空的基本数据类型包括__B______.(基本数据类型有整型,字符型,浮点型,枚举类型)A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型22、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是___A____.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值23、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);(%3c表示输入三个字符)printf("%c",ch); (表示输出一个字符)}如果从键盘上输入 abc<回车>则程序的运行结果是__A____.A) a B) b C) c D) 程序语法出错24、阅读下面的程序#include<stdio.h>void main(){int i,j; i=010; j=9;printf("%d,%d",i-j,i+j); }则程序的运行结果是___D_____.A) 1,19 B) -1,19 C) 1,17 D) -1,1725、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);} 程序的运行结果是____C___;A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1126、已知a=12,则表达式a+=a-=a*=a的结果是__A_____.A) 0 B) 144 C) 12 D) -26427、若已定义int a,则表达式a=10,a+10,a++的值是_B__.A) 20 B) 10 C) 21 D) 1128、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); }如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4529、下面程序的输出结果是___D_____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);(如果&&前面部分为假则&&后面的部分就不被执行,如果前面部分为真则&&后面部分需要被执行)printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,330、下面叙述错误的是___D___A)一个由数据申明部分和执行语句组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写程序题目二、编写程序题60(1)编写函数fun,其功能是将所有满足如下条件的四位正数存放到形参数组a中:将四位正数的千位和十位构成一个两位正数s,将百位和个位构成另一个整数t,注意;这里不考虑两位数十位为0的特殊情况,即不将01、02、03等视为两位数。
如果s是t的5倍,则将此四位数存放到形参数组a中。
(2)编写main函数,在main中调用fun函数,并将数组a中存放的整按一行5个输出到屏幕上。
二、编写程序题60(1)编写函数fun,其功能是将形参二维数组a的左下角元素和右上角对应的元素进行如下替换,即:用左下角中较大的元素踢得右上角对应的元素。
(2)编写函数main,在main函数中,按如下4*4的数据给二维数组d进行初始化:0 1 2 37 6 4 511 16 9 1015 22 33 8然后输出该二维数组;再调用函数fun,最后输出替换后的右上角元素(含对角线元素)。
二、编写程序题60(1)编写函数fun,其功能是从指定位置m开始的n个数反序。
(2)编写main,在main函数中,输入10个数、指定位置m和要反序的数据个数n;调用fun函数,最后输出反序后的10个数。
二、编写程序题60(1)编写函数fun,将N(N>=5)个数各位数字均为0、2、4、6、8的数存入一维数组b中,统计满足条件的个数cnt,并cnt返回到main函数。
(2)编写main函数,在main函数中,输入N个四位数给一维数组a,调用fun函数,最后输出符合条件的个数和这些数。
二、编写程序题60(1)编写函数fun,其功能是先找出M行N列数组中各行值的最大数,再在选出的M个数中选出最小数,并将其返回到main函数。
(2)编写main函数,在main函数中,输入M行N列的二维数组a,调用fun函数,并将a作为实参传给fun函数,最后输出找到的最小数。
二、编写程序题60(1)编写函数fun,其功能是找出一维数组中N个数的最大值及下标,并将下标返回到main函数。
(2)编写main函数,在main函数中,输入N个数个一维数组x,调用fun函数,最后输出10个数中的最大数及下标。
二、编写程序60 分编写函数fun,其功能是:生成某整型数组的前N(20)项。
该数组前两个数据分别为1和2,以后每个奇数下标(数组下标从0开始)的项是前两项的和,偶数下标的项为前两项差的绝对值。
生成的N个数存在形参a指向的数组中。
函数fun的类型及其形参定义为void fun(int *n)编写main函数,其功能是:调用fun函数,按一行4个输出N个数。
二、编写程序60 分编写程序test2-2.c,要求:从键盘上输入两个字符串,并从第2个字符串中删去任何在第一个字符串中出现过的字符,做好输出处理后的结果。
二、编写程序60 分程序的功能是:删除一个字符串中指定的字符。
编写fun函数,其功能是删除一个字符串中指定的字符。
假设字符串为:turbo c and borland c++,指定要删除的字符为n,则删除后的字符串变为:turbo c ad borlad c++。
如果输入的字符在字符串中不存在,则字符串原样输出。
同一个字符的大、小写按不同的字符处理。
在main函数中输入一个字符串(可以有空格)和一个要删除的字符,调用函数fun,最后输出结果。
二、编写程序60 分编写函数fun,其功能是:将形参指针a指向的字符顺序放入形参指针c指向的字符串中,再把形参指针b指向的字符串逆序放入形参c指向的字符串中。
注:不能使用字符串的复制和连接函数。
例如:a指向的字符串文adcb;b指向的字符串为213,则字符串c中的内容为adcb312。
在main函数中输入两个字符串,调用函数fun,最后输出合并后的结果。
二、编写程序60编写函数fun,函数fun的功能是:将字符串s最右边的n个字符赋值到新串t中,若n大于s的长度,则将s复制到t中。
注:不能使用字符串的复制函数。
例如:字符串s为abcdefgh,n=5,则字符串t为defgh。
main函数中输入一个字符串s及n的值,调用fun函数并输出结果。
二、编写程序60 分编写函数fun,函数fun的功能是:求出满足"百位减十位等于各位"的所有三位数,并按降序存入形参数组a中,满足条件的三位数总个数作为函数值返回。
main函数中调用函数fun,并按一行5个数输出结果。
二、编写程序60 分从键盘上输入整数m和k,将大于且紧靠m的k个素数存入数组xx中,将结果显示在屏幕上。
要求:(1)在num函数中完成找出紧靠m的k个素数,并存入数组xx中。
函数num的定义形式为:void num( int m, int k, int xx[])(2)main函数完成数据的输入和输出。
二、编写程序题60 分用指针编程实现:将用户输入的由数字字符和非数字字符组成的字符串(字符个数不超过256个)中的数字提取出来,例如:输入“asd123rt456,lg789”,则提取的数字分别是123、456、789。
将结果显示在屏幕上,同时输出到文件test1-2.dat中(要求每个数字一行)。
二、编写程序60 分按要求编写程序:(1)编写一个字符串比较函数mystrcpy,其功能是:对两个字符串进行比较,若这两个字符串相等,则返回0,若这两个字符串不相等,则返回它们第一个不同字符的ASCII码之差。
(2)编写main函数:从文件test2-2.dat中读两个字符串分别赋给两个一维字符数组,调用mystrcpy函数,输出比较结果。
二、编写程序60 分按要求编写程序:(1)编写函数fun,其功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指向的变量中。
例如:形参s所指字符串为"abcdef35agd3khe7",则数字出现的次数为4次。
(2)在main函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过80个)到字符数组str中,调用函数fun,统计数字出现的次数,并在屏幕上输出结果。
二、编写程序(程序文件名取test1-2.c)60 分已知磁盘上的test1-2.txt文件中含有10位学生的姓名和电话号码,利用结构体和函数调用方式编写程序。
要求实现:(1)在被调用函数search()中,能根据学生姓名,查找学生,并返回是否查找成功。
(2)在主函数中,将test1-2.txt文件中的数据读入到结构体数组中,输入待查学生的姓名,调用search()函数,最后输出待查学生的电话号码。
二、编写程序(程序文件名取test2-2.c)60 分已知磁盘上的test2-2.txt文件中含有若干行字符串(每行字符串之间用换行做分隔),用函数调用方式编写程序,要求实现:(1)在函数fun()中统计这若干行字符串中26个小写字母(a~z)各自出现的次数,并依次存放在主函数中定义的一维数组中。
(2)在主函数中读入这若干行字符串,调用fun()函数后,输出相应的结果。
二、编写程序(程序文件名取test1-2.c)60 分编写一个程序,从文件test1-2.in 中读出一行字符(即一个字符串,长度在128个字符内),将排列在奇数位上的字符取出,按从小到大的顺序排列并输出到屏幕上)。
要求:(1)在main函数中实现从文件test1-2.in中读出一行字符,调用sort 函数排序,然后将结果输出到屏幕上。
(2)编写sort函数,实现将排列在奇数位上的字符取出,然后按从小到大的顺序排列。
例如:文件test1-2.in中有一个字符串“hqwbodze”,奇数位上的字符是q,b,d,e,排序后是bdeq。
二、编写程序(test2-2.c)60分请编写函数select 判断一个数能否被3和5整除,main函数中调用select函数,求出所有小于400,且能被3和5整除的数(如15,30等),然后将所求得的数以每行5个,每个数占10列方式输出到屏幕上和放到文件test2-2.dat中。
二、编写函数fun和input:(1)函数fun对整数数组s中除首、尾数据外的其余M-2个数按升序排列。
例如:若数据为9 8 7 6 5 4 3,则排序后是9 4 5 6 7 8 3。
(2)函数input从文件test4-2.in中读出待排序的数据。
(数据间以空格分开)编写main函数,调用input函数和fun函数,将排序的结果输出到屏幕上。
二、编写程序60 分请用函数调用方式编写程序,要求:(1)编写create函数,功能是:将一个3行4列的二维整型数组每行的最大值放入一个一维数组中。
(2)在main函数中实现,从文件test4-2.in中读入数据到二维数组中,调用create函数,将二维数组中的数据和一维数组的数据输出到屏幕上。
例如,文件中数据的存储形式是1 5 8 104 6 3 22 9 1 5则输出的一维数组为:10 6 9改错题目一、程序调试题40fun 函数的功能是:检查字符串str1中是否包含有字串str2,如果有则返回其字串出现的次数,并记录每个字串出现的起始位置。
在main函数中从文件test1-1.dat中分别输入两个字符串str1和str2,调用fun 函数,然后输出字串在母串中出现的次数,以及每个字串出现的起始位置。
#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 80void main(){char str1[N],str2[N];int i,j,locat[10];int fun(char *,char *,int *);FILE *fp;if((fp=fopen("test1-1.dat","r"))=NULL){printf("Cannot open the file.\n");exit(0);}fgets(str1,fp);fgets(str2,N-1,fp);printf("str1:%s\nstr2:%s\n",str1,str2);fclose(fp);fun(str1,str2,locat);printf("arisen times: %d\n,start place:",i);for(j=0;j<i;j++)printf("%d, ",locat[j]);printf("\n");}int fun(char *p,char *q,int locat[]){int len,i=0,posit=0;char *str;str=q;len=strlen(q);do{if(*p=*q){p++;posit++;}else{while((*q!='\0')||(*q==*p)){q++;p++;posit++;}if(*q=='\0'){locat[i]=posit-len;i++;}}q=str;}while(*p!='\0');return i;}一、程序调试题40在main函数中,从文本文件test2-1.dat中读出N个长度为5的字符串,调用fun函数,判断字符串s是否为回文串,是则返回1,否则返回0。