C语言程序设计基础-结构体习题

合集下载

C语言程序设计习题集(可以很好的帮助语言的学习)

C语言程序设计习题集(可以很好的帮助语言的学习)

[1.3] 结构化程序由 种基本结构组成 。
2011-8-22
顺序

选择(分支) 选择(分支)

循环

4
第二章 C程序设计的初步知识
一、选择题
[2.1] 以下选项中正确的整型常量是 A) 12. B) -20 C) 1,000 [2.2] 以下选项中正确的实型常量是 A) 0 B) 3. 1415 C) 0.329*102 [2.3] 以下选项中不正确的实型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.77 。 D) 4 5 6 D).871 ) D) 456e-2
[2.10] 以下叙述中正确的是 A)在 程序中无论整数还是实数 程序中无论整数还是实数, A)在C程序中无论整数还是实数,只要在允许的范围内 都能准确无误的表示。 都能准确无误的表示。 B)C程序由主函数组成 程序由主函数组成。 B) 程序由主函数组成。 C)C程序由函数组成 程序由函数组成。 C) 程序由函数组成。 D)C程序由函数和过程组成 程序由函数和过程组成。 D) 程序由函数和过程组成。
2011-8-22 3
第一章 程序设计基本概念
[1.1] 在TURBO C环境中用 环境中用RUN命令运行一个 程序 命令运行一个C程序 环境中用 命令运行一个 时,所运行的程序的后缀是 .EXE 。 [1.2] C语言源程序文件的后缀是 ______, 经过编译 语言源程序文件的后缀是 .C , .OBJ ,经过连接后, 后, 生成文件的后缀是 ______,经过连接后, 生成文 件的后缀是______。 件的后缀是 .EXE 。
2011-8-22 7
[2.11] TURBO C中int 类型变量所占字节数是 中 A) 1 B) 2 C) 3 [2.12] 不合法的八进制数是 A) 0 B) 028 [2.13] 不合法的十六进制数是 A) oxff B) 0Xabc C) 077

C语言习题及答案(第九章)

C语言习题及答案(第九章)

9-3编写程序,使用结构体类型,输出一年十二个月的英文名称及相应天数。

解:#include "stdio.h"struct date{char month[10] ;int daynumber ;}main(){int i ;struct datea[12]={{"January",31},{"February",29},{"March",31},{"Aprial",30},{ "May",31},{"June",30},{"july",31},{"August",31},{"September",30}, {"October",31},{"November",30},{"December",31}} ;for(i=0;i<12;i++);printf("%d 月:%s %d\n",i+1,a[i].month,a[i].daynumber) ;}思考:如何对结构体变量进行初始化?对结构体变量的引用为何要体现为分量(或成员)的引用?9-4 编写程序求空间任一点到原点的距离,点用结构体描述。

并请考虑求空间中任意两点的距离的程序。

解:#include "stdio.h"#include "math.h"struct point{float x ;float y ;float z ;} main(){double d1,d2,d ;struct point p1,p2 ;printf("请输入第一个点的坐标:");scanf("%f,%f,%f",&p1.x,&p1.y,&p1.z);printf("请输入第二个点的坐标:");scanf("%f,%f,%f",&p2.x,&p2.y,&p2.z);d1=sqrt(p1.x*p1.x+p1.y*p1.y+p1.z*p1.z);d2=sqrt(p2.x*p2.x+p2.y*p2.y+p2.z*p2.z);d=sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y)+(p2.z-p1.z)*( p2.z-p1.z));printf("第一个点到原点的距离:%f\n",d1);printf("第二个点到原点的距离:%f\n",d2);printf("两点间的距离:%f\n",d);}9-5 编写输入、输出10个朋友数据的通讯录程序,每个朋友数据包括姓名、地址、邮编、电话、传呼、手机等数据。

C语言程序设计习题集(有答案)

C语言程序设计习题集(有答案)

高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。

A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。

2. C语言既适合编写,也适合编写应用软件。

标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。

C语言程序设计基础单项选择题库

C语言程序设计基础单项选择题库

分类:一、概念(13---51,54,55)、数据类型、输入输出格式、转义符、运算及表达式等:1 --- 66二、选择语句:67 --- 72 (其中67为条件运算,72可归于一类);三、循环语句:73 --- 102 (其中78为输出格式可归于一类)四、数组:103 --- 133 (其中123 – 125为与数组相关的函数调用)五、函数调用:134 --- 156六、文件:157 – 183七、指针:184 --- 195八、结构体:196 --- 207(204.205,206为函数调用)1、在C语言中,最基本的数据类型包括(A) 整型、实型、字符型(B) 整型、实型、逻辑型(C) 整型、字符型、逻辑型(D) 实型、字符型、逻辑型2C语言中整常数的书写形式不能使用的数制形式是(A) 十进制(B) 十六进制(C) 八进制(D) 二进制3字符串常量"ab\n\\cde\125"包含字符的个数是(A)8(B) 12(C) 9 (D) 134C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(A) 必须为下划线(B) 可以是这三种字符中的任一种(C) 必须为字母或下划线(D) 必须为字母5下列是用户自定义标识符的是(A) #x (B)_x(C) 2x (D) int6在C语言中,下列常数不能作为常量的是(A) 0xA3 (B) 068(C) 5.6E-3 (D)2e57在C语言中,运算对象必须是整型的运算符是(A) %(B) >=(C) && (D) =8下列表达式与x = (y++)等价的是(A) x = ++y (B) x = x + 1, y = x(C)x = y, y = y + 1 (D) x += y + 19若定义int x = 17; ,则表达式x++ * 1 / 6的值是(A) 1 (B) 2(C) 3 (D) 410如果在一个C语言表达式中有多个运算符,则运算时应该(A) 只考虑优先级(B) 只考虑结合性(C) 先考虑优先级,然后考虑结合性(D) 先考虑结合性,然后考虑优先级11在C程序中,下面叙述不正确的是(A) x和X 是两个不同的变量(B) 从键盘输入数据时,对整型变量只能输入整型数据,对于实型变量只能输入实型数据(C) 逗号运算符的优先级最低(D) 若x、y类型相同,则执行语句y = x,后,将把x的值放入y中,而x的值不变12已知字符A的ASCII值为65,若定义int i;,则执行语句i = 'A' + 3.5;后,正确的叙述是(A) i的值是字符E (B) 语句不合法(C) i的值是字符A的ASCII值加上3,即68(D) i的值是字符A的ASCII值加上3.5,即68.513C语言是计算机高级语言,它适合作为系统描述语言,它(A) 不以用来编写系统软件,可以用来编写应用软件(B) 不以用来编写系统软件,不可以用来编写应用软件(C) 可以用来编写系统软件,不可以用来编写应用软件(D) 可以用来编写系统软件,也可以用来编写应用软件14在纸上写好一个C语言程序后,上机运行的基本步骤为(A) 编辑、连接、编译、运行(B) 编译、连接、编辑、运行(C) 编译、编辑、连接、运行(D) 编辑、编译、连接、运行15用C语言等高级语言编写的程序称为(A) 可执行程序(B) 编译程序(C) 目标程序(D) 源程序16一个C语言源程序经过“编译程序”翻译后生成一个二进制代码文件,它的扩展名为(A) .dat (B) .exe(C) .c (D).obj17通过“连接程序”软件,把C语言目标程序与C语言提供的各种库函数连接起来生成一个文件,它的扩展名为(A) .exe (B) .dat(C) .obj (D) .c18下面叙述中正确的是(A) 在C语言程序中,要调用的函数必须在main()函数中定义(B) C语言程序总是从main()函数开始执行(C) C语言程序总是从第一个函数开始执行(D) 在C语言程序中,main()函数必须放在程序的开始位置19在一个C语言源程序中,main()函数的位置(A) 必须在其他所有的函数之后(B) 可以在任意位置(C) 必须在其他所有的函数之前(D) 必须在固定位置20一个C语言程序由(A) 若干个过程组成(B) 若干个子程序组成(C) 一个主程序和若干个子程序构成(D) 一个主函数和若干个子函数构成21一个函数的组成有(A) 函数的声明部分和执行部分(B) 函数名、函数类型、函数参数名、函数参数类型(C) 主函数和子函数(D) 函数首部和函数体22下面叙述不正确的是(A) 在程序中任意合适的地方都可以加上注释以便阅读(B) C语言中的每条执行语句都需要用分号结束(C) include命令所在行后面需要加分号(D) C语言具有高级语言的功能,也具有低级语言的一些功能23下面叙述正确的是(A) 在C程序中,main()函数的位置必须在其他所有的函数之前 (B) C语言自身没有输入输出语句(C) 在C程序的编译过程中可以发现注释中的拼写错误(D) C程序的每一行只能写一条语句24在C语言中,用来表示“取地址”的符号是(A) $ (B) #(C) @ (D)&25在C语言中,用于结构化程序设计的三种基本结构是(A) 顺序结构、选择结构、转移结构(B) 顺序结构、条件结构、循环结构(C) 顺序结构、选择结构、重复结构(D) 顺序结构、选择结构、循环结构26一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是(A) 有效性(B) 有穷性(C) 有零个或多个输入(D) 有零个或多个输出27程序设计一般可以简化为以下4个步骤,其中首先应该完成的是(A) 调试并运行程序(B) 编写程序(C) 建立数学模型(D) 设计数据结构和算法28以下不正确的C语言标识符是(A) ab.c (B)a_bc(C) abc (D) ABC29以下正确的C语言标识符是(A) a+b (B) test!(C) _123(D) %x30编辑程序的功能是(A) 命令计算机执行指定的操作(B) 调试程序(C) 将C源程序编译成目标程序(D) 建立并修改程序31 C语言程序的基本单位是(A) 过程(B)函数(C) 子程序(D) 标识符32下列说法中错误的是(A) 主函数可以分为两部分:主函数首部和主函数体(B) 主函数可以调用任何非主函数的其它函数(C) 任何非主函数可以调用其它任何非主函数(D) 程序可以从任何非主函数开始执行33在下列数据中属于“字符串常量”的是(A) ABC (B) "ABC"(C) 'abc' (D) 'a'34在C语言中,字符'\n'在内存占用的字节数是(A) 1(B) 2(C) 3 (D) 435字符串"ABC"在内存占用的字节数是(A) 3 (B) 4(C) 6 (D) 8·试题讲评编译字符串"ABC"时,编译器会自动加上字符串结束标志'\0',因此字符串"ABC"占用的内存为4个字节。

c语言数组和结构题库

c语言数组和结构题库

c语言数组和结构题库第四章数组和结构一、选择题1. 有结构型定义如下:struct person{char name[20];int age;int sex;}w[5],*p=w;那么下面scanf语句中对结构变量成员不正确的引用是( )。

A(scanf(“%s”,w[0].name); B(scanf(“%d”,&w[0].age);C(scanf(“%d”, &(p->sex)); D(scanf(“%d”, p->age); 答:D2. 处理字符串必须调用 (1) ,且首先要声明预编译命令 (2) 。

不能用赋值运算符“=”对字符串赋值,应调用 (3) 函数;也不能用关系运算符“= =”、“>”、“<”对字符串进行比较,应调用 (4) 函数。

答案:(1)字符串库函数 (2)# include <string.h> (3)strcpy (4)strcmp3. 有如下程序段:char str[14]={"I am "};strcat(str, "sad !");scanf("%s", str);printf("%s", str);当输入为happy~<CR>时,输出的结果是( )。

(A)I am sad! (B)happy!(C)I am happy! (D)happy!ad!答案:(B)4. 以下对二维数组a进行不正确初始化的是。

A(int a[ ] [3]={3,2,1,1,2,3};B(int a[ ] [3]={{3,2,1},{1,2,3};C(int a[2] [3]={{3,2,1},{1,2,3}};D(int a[ ] [ ]={{3,2,1},{1,2,3}}; 答案:D5. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

c语言程序设计第一章试题及答案

c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。

答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。

答案:03. C语言中,用于输出一个浮点数的函数是________。

答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。

答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。

局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。

2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。

通过指针,程序可以间接访问和操作内存中的数据。

3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。

4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。

C语言习题(详细解答)

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。

A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。

所以选项A)、B)、C)说法都不完整。

2.以下关于简单程序设计的步骤和顺序的说法中正确的是。

A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。

②算法设计:给出解决问题的步骤,即算法。

③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。

④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。

⑤程序调试:对编写好的程序进行调试,修改程序中的错误。

⑥程序文档编写与程序维护。

综上所述,B)选项是符合上述描述的,其他选项不恰当。

3,叙述中正确的是________。

A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。

故本题答案为C)。

4.以下叙述中正确的是。

A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。

C程序可以分模块写在不同的文件中,编译时再将其组合在一起,选项D)错误。

c++结构体题目

c++结构体题目
C++结构体题目是指涉及C++语言中结构体(struct)特性的题目,通常出现在编程练习、考试或竞赛中。

结构体是C++中的一种复合数据类型,它可以包含多个不同类型的数据成员,并且可以定义成员函数来操作这些数据。

以下是三道示例C++结构体题目:
1.定义一个结构体表示一个矩形,包含长(length)和宽(width)两个成员
变量,并实现一个函数计算矩形的面积。

2.定义一个结构体表示一个点,包含横坐标(x)和纵坐标(y)两个成员变
量,并实现一个函数计算两点之间的距离。

3.定义一个结构体表示一个学生,包含姓名(name)、年龄(age)和成绩
(score)三个成员变量,并实现一个函数按照成绩对学生进行排序。

总的来说,C++结构体题目是考察对C++语言中结构体特性的理解和应用能力的题目。

通过解决这类题目,可以提高对结构体的使用技巧和程序设计的思维能力。

C语言程序设计教程习题解答与实验指导

C语言程序设计教程习题解答与实验指导C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授编程语言的基础知识,还培养学生的逻辑思维和问题解决能力。

本教程旨在为学习C语言的学生提供习题解答和实验指导,帮助他们更好地理解和掌握C语言的编程技巧。

第一部分:习题解答1. 基础语法- 问题1:编写一个程序,输出“Hello, World!”。

解答:在C语言中,最基本的程序结构是`main`函数。

使用`printf`函数可以输出文本到控制台。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```- 问题2:声明一个整型变量`a`,并为其赋值为10。

解答:在C语言中,使用`int`关键字声明整型变量。

```cint a = 10;```2. 控制结构- 问题3:编写一个程序,根据用户输入的分数判断成绩等级。

解答:使用`if-else`语句可以实现条件判断。

```c#include <stdio.h>int main() {int score;printf("请输入你的分数:");scanf("%d", &score);if (score >= 90) {printf("A\n");} else if (score >= 80) {printf("B\n");} else if (score >= 70) {printf("C\n");} else if (score >= 60) {printf("D\n");} else {printf("F\n");}return 0;}```3. 循环结构- 问题4:使用循环结构打印1到10的数字。

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

1、把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息。 #include <> int main() {struct Student { long int num; char name[20]; char sex; char addr[20]; }a={10101,“Li Lin”,‘M’, “123 Beijing Road”}; printf("NO.:%ld\nname:%s\n sex:%c\naddress:%s\n",,,,; return 0; }

2、输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩 #include <> int main() { struct Student { int num; char name[20]; float score; }student1,student2; scanf("%d%s%f",&,, &; scanf(“%d%s%f”,&,, &; printf("The higher score is:\n"); if > printf("%d %s %\n",,, ; else if < printf("%d %s %\n",,, ; else {printf("%d %s %\n",,, ; printf("%d %s %\n",,, ; } return 0; }

3、有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。 #include <> #include <> struct Person { char name[20]; int count; }leader[3]={“Li”,0,“Zhang”,0,“Sun”,0}; int main() { int i,j; char leader_name[20]; for (i=1;i<=10;i++) { scanf(“%s”,leader_name); for(j=0;j<3;j++) if(strcmp(leader_name, leader[j].name)==0) leader[j].count++; } for(i=0;i<3;i++) printf("%5s:%d\n“,leader[i].name, leader[i].count); return 0; }

4、有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。 #include <> struct Student { int num; char name[20]; float score; }; int main() { struct Student stu[5]={{10101,"Zhang",78},{10103,"Wang",},{10106,"Li", 86 },{10108,“Ling”, },{10110,“Fun”, 100 } }; struct Student temp; const int n = 5 ; int i,j,k; printf("The order is:\n"); for(i=0;i{ k=i; for(j=i+1;jif(stu[j].score>stu[k].score) k=j; temp=stu[k]; stu[k]=stu[i]; stu[i]=temp; } for(i=0;iprintf("%6d %8s %\n", stu[i].num,stu[i].name,stu[i].score); printf("\n"); return 0; } 5、通过指向结构体变量的指针变量输出结构体变量中成员的信息。 #include <> #include <> int main() { struct Student { long num; char name[20]; char sex; float score; }; struct Student stu_1; struct Student * p; p=&stu_1; =10101; strcpy,“Li Lin”); ='M‘; =; printf("No.:%ld\n”,p->.num); printf("name:%s\n", p->.name); printf("sex:%c\n”, p->.sex); printf(”score:%\n”,; return 0; }

6、有3个学生的信息,放在结构体数组中,要求输出全部学生的信息。 #include <> struct Student { int num; char name[20]; char sex; int age; }; struct Student stu[3]={{10101,"Li Lin",'M',18},{10102,"Zhang Fun",'M',19},{10104,"Wang Min",'F',20} }; int main() { struct Student *p; printf(" No. Name sex age\n"); for(p=stu;pprintf(“%5d %-20s %2c %4d\n”,p->num, p->name, p->sex, p->age); return 0; }

7、有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)。 #include <> #define N 3 struct Student { int num; char name[20]; float score[3]; float aver; }; int main() { void input(struct Student stu[]); struct Student max(struct Student stu[]); void print(struct Student stu); struct Student stu[N]; input(stu); print(max(stu)); return 0; } void input(struct Student stu[]) { int i; printf("请输入各学生的信息:学号、姓名、三门课成绩:\n"); for(i=0;i

{scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/; } } struct Student max(struct Student stu[]) {int i,m=0; for(i=0;iif (stu[i].aver>stu[m].aver) m=i; return stu[m]; } void print(struct Student stud) { printf("\n成绩最高的学生是:\n"); printf("学号:%d\n姓名:%s\n三门课成绩:%,%,%\n平均成绩:%\n",,,[0],[1],[2],; }

8、有若干个人员的数据,其中有学生和教师。学生的数据中包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求用同一个表格来处理。 #include <> union Categ { int clas; char position[10]; }; struct { int num; char name[10]; char sex; char job; union Categ category }person[2]; int main() {int i; for(i=0;i<2;i++) {scanf("%d %s %c %c“,&person[i].num, &person[i].name, &person[i].sex,&person[i].job); if(person[i].job == 's') scanf("%d“,&person[i].; else if(person[i].job == 't‘) scanf(“%s”,person[i].; else printf(“Input error!”); } printf("\n"); for(i=0;i<2;i++) {if (person[i].job == ‘s’) printf("%-6d%-10s%-4c%-4c% -10d\n",person[i].num,person[i]. name,person[i].sex,person[i].job, person[i].; else printf("%-6d%-10s%-4c%-4c% -10s\n",person[i].num,person[i]. name,person[i].sex, person[i].job, person[i].; } return 0; }

9、编程,输入2个时刻, 定义一个时间结构体类型(包括时分秒),计算2个时刻之间的时间差。 #include <> typedef struct Mytime { int hour; int min; int sec; }T; int main()

相关文档
最新文档