当前位置:文档之家› C语言综合应用实例

C语言综合应用实例

C语言综合应用实例
C语言综合应用实例

C语言综合应用实例

一、学生信息管理系统

#include<> /*I/O函数*/

#include<> /*其它说明*/

#include<> /*字符串函数*/

#define BUFLEN 100 /* 缓冲区最大字符数 */

#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */

#define N 100 /* 最大学生人数,实际请更改*/

struct record /*结构体*/

{

char code[LEN+1]; /* 学号 */

char name[LEN+1]; /* 姓名 */

int age; /* 年龄 */

char sex[3]; /* 性别 */

char time[LEN+1]; /* 出生年月 */

char add[30]; /* 家庭地址 */

char tel[LEN+1]; /* 电话号码 */ char mail[30]; /* 电子邮件地址 */ }stu[N];

int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */ void seek();

void modify();

void insert();

void del();

void display();

void save();

void menu();

int main()

{

while(k)

menu();

system("pause");

return 0;

}

void help()

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加学生信息后,切记保存按7;\n");

printf("\n4.谢谢您的使用!\n");

}

void readfile()/* 建立信息 */

{

char *p="";

FILE *fp;

int i=0;

if ((fp=fopen("","r"))==NULL)

{

printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)

{

i++;

i=i;

}

fclose(fp);

n=i;

printf("录入完毕!\n");

}

void seek() /*查找*/

{

int i,item,flag;

char s1[21]; /* 以姓名和学号最长长度+1为准 */ printf("------------------\n");

printf("-----1.按学号查询-----\n");

printf("-----2.按姓名查询-----\n");

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",&item);

flag=0;

switch(item)

{

case 1:

printf("请输入要查询的学生的学号:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(stu[i].code,s1)==0)

{

flag=1;

printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");

printf("--------------------------------------------------------------------\n ");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该学号不存在!\n"); break;

case 2:

printf("请输入要查询的学生的姓名:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(stu[i].name,s1)==0)

{

flag=1;

printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");

printf("--------------------------------------------------------------------\n ");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该姓名不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

void modify() /*修改信息*/

{

int i,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */ printf("请输入要要修改的学生的学号:\n");

scanf("%s",s1);

for(i=0;i

if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/

num=i;

printf("------------------\n");

printf("1.修改姓名\n");

printf("2.修改年龄\n");

printf("3.修改性别\n");

printf("4.修改出生年月\n"); printf("5.修改地址\n");

printf("6.修改电话号码\n"); printf("7.修改E-mail地址\n"); printf("8.退出本菜单\n");

printf("------------------\n"); while(1)

{

printf("请选择子菜单编号:"); scanf("%d",&item);

switch(item)

{

case 1:

printf("请输入新的姓名:\n"); scanf("%s",s2);

strcpy(stu[num].name,s2); break;

case 2:

printf("请输入新的年龄:\n"); scanf("%d",&stu[num].age);break; case 3:

printf("请输入新的性别:\n"); scanf("%s",sex1);

strcpy(stu[num].sex,sex1); break; case 4:

printf("请输入新的出生年月:\n"); scanf("%s",s2);

strcpy(stu[num].time,s2); break; case 5:

printf("请输入新的地址:\n"); scanf("%s",s2);

strcpy(stu[num].add,s2); break; case 6:

printf("请输入新的电话号码:\n"); scanf("%s",s2);

strcpy(stu[num].tel,s2); break;

case 7:

printf("请输入新的E-mail地址:\n"); scanf("%s",s2);

strcpy(stu[num].mail,s2); break;

case 8:return;

default:printf("请在1-8之间选择\n"); }

}

}

void sort()/*按学号排序*/

{

int i,j,*p,*q,s;

char temp[10];

for(i=0;i

{

for(j=n-1;j>i;j--)

if(strcmp(stu[j-1].code,stu[j].code)>0) {

strcpy(temp,stu[j-1].code);

strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp);

strcpy(temp,stu[j-1].name);

strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp);

strcpy(temp,stu[j-1].sex);

strcpy(stu[j-1].sex,stu[j].sex);

strcpy(stu[j].sex,temp);

strcpy(temp,stu[j-1].time);

strcpy(stu[j-1].time,stu[j].time);

strcpy(stu[j].time,temp);

strcpy(temp,stu[j-1].add);

strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp);

strcpy(temp,stu[j-1].tel);

strcpy(stu[j-1].tel,stu[j].tel); strcpy(stu[j].tel,temp);

strcpy(temp,stu[j-1].mail);

strcpy(stu[j-1].mail,stu[j].mail); strcpy(stu[j].mail,temp);

p=&stu[j-1].age;

q=&stu[j].age;

s=*q;

*q=*p;

*p=s;

}

}

}

void insert() /*插入函数*/

{

int i=n,j,flag;

printf("请输入待增加的学生数:\n");

scanf("%d",&m);

do

{

flag=1;

while(flag)

{

flag=0;

printf("请输入第 %d 个学生的学号:\n",i+1); scanf("%s",stu[i].code);

for(j=0;j

if(strcmp(stu[i].code,stu[j].code)==0)

{

printf("已有该学号,请检查后重新录入!\n");

flag=1;

break; /*如有重复立即退出该层循环,提高判断速度*/

}

}

printf("请输入第 %d 个学生的姓名:\n",i+1);

scanf("%s",stu[i].name);

printf("请输入第 %d 个学生的年龄:\n",i+1);

scanf("%d",&stu[i].age);

printf("请输入第 %d 个学生的性别:\n",i+1);

scanf("%s",stu[i].sex);

printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1); scanf("%s",stu[i].time);

printf("请输入第 %d 个学生的地址:\n",i+1);

scanf("%s",stu[i].add);

printf("请输入第 %d 个学生的电话:\n",i+1); scanf("%s",stu[i].tel);

printf("请输入第 %d 个学生的E-mail:\n",i+1); scanf("%s",stu[i].mail);

if(flag==0)

{

i=i;

i++;

}

}

while(i

n+=m;

printf("录入完毕!\n\n");

sort();

}

void del()

{

int i,j,flag=0;

char s1[LEN+1];

printf("请输入要删除学生的学号:\n"); scanf("%s",s1);

for(i=0;i

if(strcmp(stu[i].code,s1)==0)

{

flag=1;

for(j=i;j

stu[j]=stu[j+1];

}

if(flag==0)

printf("该学号不存在!\n");

if(flag==1)

printf("删除成功,显示结果请选择菜单6\n");

n--;

}

}

void display()

{

int i;

printf("所有学生的信息为:\n");

printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");

printf("--------------------------------------------------------------------\n ");

for(i=0;i

{

printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

void save()

{

int i;

FILE *fp;

fp=fopen("","w"); /*写入*/

for(i=0;i

{

fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age, stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

fclose(fp);

}

void menu()/* 界面 */

{

int num;

printf(" \n\n 学生信息管理系统 \n\n");

printf(" ***************** \n\n");

printf(" * 制作人: * \n \n");

printf(" ***************** \n\n");

printf("*********************系统功能菜单************************ \n"); printf("友情提醒:查询前请先刷新系统! \n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");

printf(" ********************************************* \n");

printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");

C语言程序设计C语言实验4_知识点综合应用

实 验 报 告 四 (四学时) 一【实验目的】 (1)综合运用顺序结构、选择结构、循环结构进行程序设计 (2)运用控制结构解决实际问题 (3)综合应用数组、函数等知识。 (4)编程求解常用算法。 二【实验内容】 【实验1】 要求:编写程序,其功能是:计算 6210! !!21)(-<++++=n x n x x x x f n n 直到 。若x=2.5,则输出s=12.182494。 实验代码及结果: 【实验2】 要求:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次搬完,问男、女和小孩各若干? 提示:运用穷举法解决问题(循环嵌套是穷举法解决问题的常用方法) 实验代码及结果:

【实验3】 要求:定义一个N行N列的二维整型数组,使数组左下三角元素中的值乘以n 。例如:若n的值为3,a数 组中的值为 ? ? ? ? ? ? ? 6 5 4 8 3 2 7 9 1 则返回主程序后a数组中的值为 ? ? ? ? ? ? ? 18 15 12 8 9 6 7 9 3 算法分析: 1、定义N行N列的二维数组,并手动为数组元素赋值 注意:注意数组维数不能为变量,但可以用宏定义的方式来进行数组维数的定义,例如:在头文件前进行宏定义#define N 3,程序中定义二维数组 int num[N][N]; 2、选择二维数组中的左下三角元素,并改变三角元素的值 3、以N行N列的形式输出二维数组,要求每输出N个数据,输出一个回车换行符 实验代码及结果: 【实验4】 掌握字符串操作,编写函数,完成以下功能: 将s所指字符串中下标为偶数的字符去掉,串中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为:"ABCDEFGHIJK",在t所指数组中的内容应是:"BDFHJ"。 算法分析: (1)输入字符串 (2)定义存放新字符串的变量t,字符串长度至少为s长度的一半; (3)把字符串s对应位置上的字符赋值给变量t (4)运用循环结构为字符串t赋值,考虑t数组的下标应从0开始,到s长度的一半(可通过调用strlen 函数获取字符串s的长度); (5)输出字符串t 实验结果:

C语言综合应用实例

C语言综合应用实例 一、学生信息管理系统 #include/*I/O函数*/ #include/*其它说明*/ #include/*字符串函数*/ #defineBUFLEN100/*缓冲区最大字符数*/ #defineLEN15/*学号和姓名最大字符数,实际请更改*/ #defineN100/*最大学生人数,实际请更改*/ structrecord/*结构体*/ { charcode[LEN+1];/*学号*/ charname[LEN+1];/*姓名*/ intage;/*年龄*/ charsex[3];/*性别*/ chartime[LEN+1];/*出生年月*/ charadd[30];/*家庭地址*/ chartel[LEN+1];/*电话号码*/ charmail[30];/*电子邮件地址*/ }stu[N]; intk=1,n,m;/*定义全局变量*/ voidreadfile();/*函数声明*/ voidseek(); voidmodify(); voidinsert(); voiddel(); voiddisplay(); voidsave(); voidmenu(); intmain() { while(k) menu(); system("pause"); return0; } voidhelp() { printf("\n0.欢迎使用系统帮助!\n"); printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n");

C语言综合程序设计 停车场管理系统

综合性程序设计报告 设计题目:____停车场管理系统___________ 指导教师: _______________ 班级: _____________ 学号: _______________ 设计者: _______________ 成绩: _______________ 设计时间: 年月日

停车场管理系统 目录 1.题目描述 2.功能模块分解及说明 3.数据库设计及说明 4.界面说明 5.主要算法说明 6.代码清单及注释 7.设计测试说明 8.设计体会 停车场管理系统 1.题目描述 停车场的基本概述:用于利用计算机实现停车场的管理,包括车位调度,停车记费。车位记录,收费管理与计算。停车场的主要功能: 1.车位调度。 2.停车时间与费用的计算。 3.车位记录。 2.功能模块分解及说明 根据题目要求,可以用结构体实现,在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。 所以,这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。 ○1菜单函数: main()函数体内包含了界面选则部分menu(),并单独 抽出来作为一个独立函数,目的在于系统执行每部分 模块后能够方便返回到系统界面。即main()函数写为 如下: void main()/*主函数*/ { menu();/*菜单函数*/

} void menu() { int n,w; do { puts("\t\t**************MENU**************\n\n"); puts("\t\t\t 1.初始化"); puts("\t\t\t 2.有车进入"); puts("\t\t\t 3.有车离开"); puts("\t\t\t 4.退出"); puts("\n\n\t\t*********************************\n"); printf("Please choice your number(1-4): [ ]\b\b"); scanf("%d",&n); if(n<1||n>4) /*对选择的数字作判断*/ { w=1; getchar(); } else w=0; }while(w==1); switch(n) { case 1:chushi();break; /*初始化函数*/ case 2:jinru();break; /*车辆进入函数*/ case 3:likai();break; /*车辆离开函数*/ case 4:exit(0); /*退出*/ } } ○2车道信息 该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体内成员即车位的状态。用循环实现车位的致零即可。 struct changnei/*场内车道信息*/ { int neikong; }chn[N-1]; struct changwai/*场外车道信息*/ { int waikong; }chw[M-1]; N和M分别是停车场和便道的车位预设值,用宏定义。用户可根据实际情况改变。

C语言-基础教程-C语言程序应用举例

C语言-基础教程-C语言程序应用举例 这是一个递归函数调用的例子。程序中函数f o r w a r d _ a n d _ b a c k w a r d s ( )的功能是显示一个字符串后反向显示该字符串。 [例4-17] 计算1~7的平方及平方和。 #include # include void header(); / *函数声明* / void square(int number); void ending(); int sum; /* 全局变量* / m a i n ( ) { int index; h e a d e r ( ) ; / *函数调用* / for (index = 1;index <= 7;i n d e x ) s q u a r e ( i n d e x ) ; e n d i n g ( ) ; / *结束* / } void header() { sum = 0; /* 初始化变量"sum" */ printf("This is the header for the square program\n;\n") } void square(int number) { int numsq;

numsq = number * numbe;r sum = numsq; printf("The square of %d is %d\,nn"u m b e r ,nu m s q ) ;} void ending() { printf("\nThe sum of the squares is %d,\ns"u m ) ; }

1、快速锁屏 现代人的电脑充满了各种商业机密与隐私,上班时间喝个茶水都害怕电脑被“偷窥”。电脑它自己也会保护自己哦,只要你离开之前按下快捷键:Windows+L,就能快速锁住电脑屏幕哦,妈妈再也不用担心我的机密泄露了 2、误删恢复 字打多了就容易手抖,尤其做文案的,有时候忙得眼花缭乱却一不小心把文字为误删了。只要你未清空回收站,就能按快捷键:Ctrl+Z,进行撤回恢复。

综合应用案例—学生信息管理系统(C语言)

14.3综合应用案例—学生信息管理系统 作为学生,同学们最熟悉自己的相关信息了,如果能够设计一个学生信息管理系统,实现全班乃至全校学生信息的管理系统,是非常有实际意义的。同时,开发一个小型的信息管理系统,综合应用我们之前学习的基本语法知识和程序设计方法,将是一个提升和锻炼实践能力的好机会。 1. 主要功能 设计与开发一个学生信息管理系统,对学生的学号、姓名、性别、年龄等基本信息进行管理,实现基本的增、删、改、查等功能。 2. 功能模块设计 通过需求分析,按照结构化程序设计自顶向下,逐步细化的方法,以模块化设计为中心的原则,学生信息管理系统应该具有基本的文件管理、编辑、显示三个功能模块。 文件管理模块包括:加载文件、保存文件、拷贝到目标文件、退出系统; 编辑模块包括:输入记录、查找记录、修改记录、删除记录、插入记录、记录排序; 显示模块包括:显示全部记录、按序号显示记录。 系统的功能划分如图14.12所示: 学生基本信息管理系统 输入学生记录 浏览学生记录 按姓名查找按姓名删除 按学号修改插入学生记录 保存文件加载文件按序号浏览 按姓名排序 拷贝文件文件管理模块编辑模块显示模块 退出系统 图14.12 系统功能模块图 3. 数据结构设计 为了实现学生信息的管理,系统中采用的主要数据结构是结构体数组,为了方便系统功能扩展及编码方便,使用了#define 定义结构体数组上限,并使用typedef 定义结构体类型别名。 #define M 50 typedef struct { char no[20]; char name[20];

char sex[5]; int age; }STUDENTS; STUDENTS stu[M]; 4. 函数及调用关系 函数是模块化的主要手段,系统的各个主要功能都设计成函数,通过各个函数相互调用,并最终由主函数main调用组装成整个软件系统。学生信息管理系统由1个.h头文件和2个.c 源文件组成。程序中除了主函数外,共设计了以下15个函数,以下是这些函数的函数原型及功能设计。 (1)int menu_select(); 函数功能: 在屏幕上显示主菜单,接收用户选择并响应用户相应操作。 (2)int enter(STUDENTS t[]); 函数功能:输入学生记录条数,并循环输入学生基本信息。 (3)void list(STUDENTS t[],int n); 函数功能:按每页10条显示结构体数组中的学生信息。 (4)void search(STUDENTS t[],int n); 函数功能:按给定的姓名查找学生并显示该生信息。 (5)int del(STUDENTS t[],int n); 函数功能:按给定姓名从结构体数组中删除该生信息。 (6)int add(STUDENTS t[],int n); 函数功能:给定学生姓名,查找该生在结构体数组中的位置,从该位置开始后移,将一条新输入的学生信息插入在该位置。 (7)void save(STUDENTS t[],int n); 函数功能:将结构体数组中的学生信息以二进制方式写入到文件。 (8)int load(STUDENTS t[]); 函数功能:将保存的二进制文件加载到内存中的结构体数组。 (9)void display(STUDENTS t[],int n); 函数功能:按输入序号从结构体数组中定位并输出学生信息。 (10)void sort(STUDENTS t[],int n); 函数功能:采用冒泡排序算法,按姓名将结构体数组中的学生从小到大排序。 (11)void copy(); 函数功能:将保存的学生信息拷贝到指定的目标文件中一份。 (12)void print(STUDENTS temp); 函数功能:显示指定的一条学生记录。 (13)int find_name(STUDENTS t[],int n,char *s); 函数功能:在结构体数组中按给定姓名查找学生。 (14)int find_no(STUDENTS t[],int n,char *no); 函数功能: 在结构体数组中按给定学号查找学生。 (15)void modify(STUDENTS t[],int n); 函数功能:按照给定的学号在结构体数组中定位该生,重新输入数据对其进行修改,并显示修改前后的数据进行对比。 程序中总共16个函数之间的调用关系如图14.13所示:

单片机C语言项目式教程综合题含答案

百度文库 六、综合题 1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求: (1)画出硬件电路连线图,并标注主要引脚; (2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。 解:(1)电路图如下所示: (2)2764的地址为C000H-DFFFH; 第一个6116的地址为A000H-A7FFH; 第二个6116的地址为6000H-67FFH; 事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。

U 4 74L S 373 347813141718 1 11 256912151619 D 0D 1D 2D 3D 4D 5D 6D 7O C G Q 0Q 1Q 2Q 3Q 4Q 5Q 6Q 7 U 2 8031 31 393837363534333221 2223242526272817162930 E A /V P P 0.0 P 0.1P 0.2P 0.3P 0.4P 0.5P 0.6P 0.7P 2.0 P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7R D W R P S E N A L E /P U 5 H M 6116 876543212322191820219 10111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C S O E W E D 0D 1D 2D 3D 4D 5D 6D 7U 3 2764 109876543252421232202227111 12131516171819A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A 11A 12C E O E P G M V P P O 0 O 1O 2O 3O 4O 5O 6O 7U 6 H M 6116 876543212322191820219 10111314151617A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10C S O E W E D 0 D 1D 2D 3D 4D 5D 6D 7

C语言程序设计100个简单的经典例子

经典C语言程序设计100例 1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题 21.猴子吃桃问题 22.乒乓球比赛抽签问题 23.打印菱形图案 24.分数数列求和 25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印 28.岁数问题 29.求解正整数位数 30.判断回文数 31.星期几猜测游戏 32.改变文本颜色 33.学习gotoxy()与clrscr()函数 34.练习函数调用 35.设置文本颜色 36.求100之内的素数37.对10个数进行排序 38.求3*3矩阵对角线元素之和 39.数字插入数组重新排序40.将 一个数组逆序输出 41.static定义静态变量用法42. 使用auto定义变量用法43.使用 static的另一用法 44.使用external的用法 45.使用register定义变量方法 46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3) 49.#if #ifdef和#ifndef的综合应 用 50.#include 的应用练习 51.学习使用按位与& 52.学习使用按位或| 53.学习使用按位异或^ 54.取一个整数从右端开始的 4~7位。 55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线 58.用rectangle画方形 59.画图综合例子1 60.画图综合例子2 61.打印杨辉三角形 62.学习putpixel画点 63.画椭圆ellipse 64.利用ellipse and rectangle画 图 65.画个最优美的图案 66.输入3个数字按大小顺序输 出 67.输入数组交换元素重新输出 68.多个整数后移位置问题 69.圆圈报数问题 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单题目 76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整 除 86.两个字符串连接程序 87.结构体变量传递 88.读取数字的整数值并打印出 该值个数的* 89.数据加密 90.专升本一题 91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏 95.家庭财务管理小程序 96.计算字符串中子串出现的次 数 97.输入字符并保存到磁盘98.字 符串转换成大写字母并输出保 存 99.文件操作应用1 100.文件操作应用2 --------------------------------------------------------------------------------

C语言综合练习题

《C语言程序设计》综合练习题 一、单项选择题 1.下列(D)是字符串比较函数。 A. puts() B.gets() C. strcpy ()拷贝字符串 D. strcmp()比较字符串 2.构成一个完整的C源程序必须有且只有一个(C )。 A. 函数 B.过程 C. 主函数int main D. 程序 3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。 A. 1 B. 2 C. 63 D. 0 4.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。 A.int B.char C.unsigned D.long 5.下列( D )不是构成标识符的字符。 A.字母 B.数字 C.下划线 D.标点符号 6.表达式:3>5&&-1||6<3-!-1的值是(A)。 A. 0 B.1 C. 表达是不合法 D. 均不对 7. 以下标识符中能做为合法的C用户标识符的是(D)。 A.A3+B3 B. float C. 3dx D. x3d 8. 以下数据中不正确的数值或字符常量是(B)。 A. 0.0 B. 3E2.7 C. 9861 D. 0xabcd 9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A )。 A. 只读打开文件 B. 只写打开文件 C. 追加打开文件 D. 读写打开文件 10.表示关系x<=y<=z的C语言表达式为( A ) A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z) C. (x<=y)&(y<=z) scanf后才加& D. (x<=y<=z) 11.如果要把常量327存入变量a中,a不能定义的类型是(B )。 A. int B. char字符串 C. long D. float 12. 在变量的存储结构中,(B)局部变量的初始化只有一次。 A. 自动 B. 静态 C.外部 D. 寄存器 13.下列能正确进行字符串赋值操作的语句是(C)。 A. char s[5]={ "ABCDE"}; B. char s[5]={ 'a', 'b', 'c', 'd', 'e'} C. char *s;s="abcde"; D. char *s; scanf("%s",s); 14.语句if(3/4>1/2)a=1;else a=0; 运行后,a的值是(A)。 A. 1 B. 0 C.与机器有关 D.语法有错 15.下列( C )是合法自定义标识符。 A. 3ma B. float C. m3a D.–ab 16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D) A. 'a' && 'b' B. a<=b C. c>=b||b+c&&b-c D. a<=b+c&&c>=a+b 17.判断整型变量i,j可同时被2整除的表达式(i,j同时被2整除返回1,否则返回

相关主题
文本预览
相关文档 最新文档