高级语言程序设计(下)实验编程题
高级语言程序设计练习题-4.2
![高级语言程序设计练习题-4.2](https://img.taocdn.com/s3/m/5713f8851711cc7930b71607.png)
(一)填空题:1.C语言程序的基本单位是____函数__________.2.在C语言中,数字056是一个_______八_______进制数,0xFF是一个_________十六_____进制数。
3。
若程序中使用了函数scanf()4. 若程序中使用了函数strlen(),5.C语言程序的三种基本结构是_____循环_________、_______顺序_______、_______选择_______.6。
若程序中使用了函数sqrt(),则必须包含的头文件名为math。
h。
7.C语言中运算对象必须是整型的运算符是%。
8.C语言中整型数据除以整型数据得到整形数据。
9.C语言源程序文件的扩展名是 .c ;经过编译后,所生成文件的扩展名是 ;经过链接后,所生成的文件扩展名是 .exe 。
10。
若定义int a[3][5];则a数组所含数组元数个数是 15 ,sizeof(a)的值是 4 ,其首地址是 a[0][0] .11.在C语言中,数组名是数组的 ,同时它是一个_____指针_ 常量.12.判断字符型变量ch是否为小写英文字母的C语言表达式为____________________________。
13.判断变量a的数值范围1≤a≤10的C语言表达式是______a>=1&&a〈=10____________ _________ _。
14.C语言运算符中,++和——的结合方向(运算方向)是__________从右向左___ 函数读入字符串.16.函数直接或间接地调用自己本身称为__________递归_____________.17.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w〉x)&&(b=y>z);后,a 的值为 4 ,b的值为 2 .18.字符串”student”的长度是 8 ,它在内存中的字节数为。
19. 设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);”后,a的值是 28 .20.执行int x,y,z;x=y=1;z=(x++,++y,y++);后,则x= 1 ,y= 3 ,z= 3 .21.定义语句int x,y;,执行y=(x=1,++x,x+2);语句后,则x= 2 ,y=4 .22。
高级语言及程序设计试卷与答案
![高级语言及程序设计试卷与答案](https://img.taocdn.com/s3/m/21cf1e6f04a1b0717fd5ddb0.png)
高级语言程序设计一、选择题:(共20题,每题分,共30分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.e3 B. 123 .e5C.18 123e4 D. e3. 234 1e33. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和分别赋给x和y,正确的输入应当是()A.x=10, y=<回车> B. 10, <回车>C.10<回车><回车> D. x=10<回车>y= <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B<CR> B. 10□A□20□B<CR>C.10A20B<CR> D. 10A20□B<CR>11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 313. 若变量c为char类型,能正确判断出c为大写字母的表达式是()A.'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z')C.('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z') 14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()A.n==0 B. n==1C.n!=0 D. n!=115. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()A.0 B. 1C.4 D. 516. 定义int i=1; 执行语句while(i++<5); 后,i的值是()A.3 B. 4C.5 D. 617. 合法的数组说明是()A.int a[] = “string”; B.int a[] = { 0, 1, 2, 3, 4, 5 }; C.char a = “string”; D.char a[] = { 0, 1, 2, 3, 4, 5 };18. 当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B. 数组的首地址C.数组每一个元素的地址 D. 数组每个元素中的值19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C.将串str2复制到串str1中后再将串str3连接到串str1之后D. 将串str2连接到串str1之后再将串str1复制到串str3中20. 已知:int a[]={1,2,3,4,5,6,7,8,9, *p=a; 则(*p) 的值是()A.1 B. 2C.3 D. a二、判断题:(共10题,每题1分,共10分)()1.C语言中能使用关键字作为标识符。
c高级程序设计试题及答案
![c高级程序设计试题及答案](https://img.taocdn.com/s3/m/9df6ba22a36925c52cc58bd63186bceb19e8edf8.png)
c高级程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个函数用于将字符串s复制到字符串t中?A. strcat(s, t)B. strcpy(s, t)C. strcmp(s, t)D. strncat(s, t)答案:B3. 在C语言中,下列哪个运算符用于执行逻辑与操作?A. &&B. ||C. !D. ~答案:A4. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A5. 在C语言中,下列哪个函数用于打开一个文件?A. fopenB. fcloseC. freopenD. remove答案:A6. 下列哪个选项是C语言中的合法整型常量?A. 123B. 0x1AC. 1.23D. 0123答案:A7. 下列哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 在C语言中,下列哪个运算符用于执行算术右移操作?A. <<B. >>C. <=D. >=答案:B9. 下列哪个函数用于将整数n转换为字符串并存储在s指向的数组中?A. sprintf(s, "%d", n)B. scanf(s, "%d", &n)C. printf("%d", n)D. scanf("%d", &n)答案:A10. 在C语言中,下列哪个选项是正确的多行字符串字面量?A. "Hello, world"B. "Hello,\nworld"C. "Hello, " "world"D. "Hello, " 'world'答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针。
高级语言程序设计习题(最新版带答案)
![高级语言程序设计习题(最新版带答案)](https://img.taocdn.com/s3/m/85335cdfa48da0116c175f0e7cd184254b351b73.png)
第1章C语言概述习题1.单项选择题(1)C语言是在B语言的基础上产生的。
A.AB.BC.DD.E(2)在C语言中,每个语句必须以D结束。
A.回车符B.冒号C.逗号D.分号(3)标识符和关键字间,要用C隔开。
A.回车符B.冒号C.空格D.分号(4)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。
A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件(5)下列说法中正确的是(B)。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成(6)下列说法中正确的是(A)。
A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成(7)下列说法中错误的是(D)。
A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1)C语言只有32个关键字和9种控制语句。
(2)C语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3)每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4)在C语言程序中允许出现的字符集是ASCII码字符集。
(5)C语言的程序中有特殊含义的英语单词称为保留字。
(6)C语言标识符的长度是前8位有效。
(7)C语言中,标识符的定义规则是以字母或下划线为开头。
(8)C语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。
第2章数据类型运算符和表达式习题1.单项选择题(1)以下选项中,正确的C语言整型常量是D。
高级语言程序设计习题及答案
![高级语言程序设计习题及答案](https://img.taocdn.com/s3/m/fb44c49302768e9950e7382c.png)
习题一1-1 Pascal语言的程序结构由哪几部分组成?试述各部分的构成形式和作用。
1-2 Pascal基本字符集有哪些成分构成?Pascal的保留字是什么?1-3 Pascal语言中标识符是怎样构成的?下列字符串哪些是正确的Pascal标识符?哪些是错误的?为什么?A5B,5H4,PEL,1,A31,x﹡y,AB,A + B,$500,G1(x),xyz,E-10,VAR1-4 下列数据哪些是整数?哪些是实数?哪些是非法的(假设计算机字长为32位)?256 2.54 25E+6 3.75E6 0.15E-61.2E70 1E-15 -673 E8 4,7345.7E-6.6 0 58989 -73451 E-31-5 下列哪些常量定义是正确的?CONSThvalue=200;lvalue=0 OR 1 OR 2;firstchar=’a’;t=true;b=true OR false;1-6 假定已作了下述说明:CONSTgap=’’;VARm,n:integer;a,b:real;p,q:boolean;c1,c2:char;指出下列每一语句是否有效,并说明理由:⑴m:=trunk(b)+a⑵p:=m+n⑶read(c1,c2,’’)⑷c1:=gap⑸p:=q AND (ord(c1)<>’a’)⑹m:=n MOD a⑺‘c1’ :=’c2’⑻c2:=chr(‘a’)⑼m:=m-ord(‘0’)⑽writeln(a,p,m,n,q,q,b)⑾ n:=a-trunc(a)⑿b:=2.99*109⒀a:=m/n⒁b:ord(c1)+ord (c2)1-7 已知变量有下面指定的值:a=7,b=-6,c=30,d=10.8600,e=1E3,f=’*’,g=true求下面表达式的值:a+b DIV trunc(d)+3①d-0.75/(e+140.0)*70.0②sqrt(abs(b-a)+succ(ord(f))③chr(10* a MOD sqr(b))④NOT ((a>=b) AND g)⑤(ord(b) OR (sqr(b)>e)) AND (g AND NOT(abs(b)<>6))1-8 已知有如下说明VARp,q,r,s:Boolean;k:integer;试写出下列每一表达式的类型,如能确定,请写出它们的值。
C高级语言程序设计实验内容
![C高级语言程序设计实验内容](https://img.taocdn.com/s3/m/c438621010661ed9ad51f338.png)
printf("\n%c,%c",c1,c2);
return 0;
}
三、实验报告要求
将题目:1和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验三选择结构程序设计
一、实验目的
1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
{
if((x%i==0)&&(y%i==0))
max=i;
}
printf("%d\n",max);
printf("%d\n",x*y/max);
return 0;
}
(2)从键盘输入一个int类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c)
return 0;
}
4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。(要求文件名:2_4.c)
参考程序:
#include <stdio.h>
intmain()
{
char c1,c2;
c1=getchar();c2=getchar();
if(a>d) {t=a;a=d;d=t;}
if(b>c) {t=b;b=c;c=t;}
if(b>d) {t=b;b=d;d=t;}
if(c>d) {t=c;c=d;d=t;}
printf("%d,%d,%d,%d\n",a,b,c,d);
《高级语言程序设计》实验报告
![《高级语言程序设计》实验报告](https://img.taocdn.com/s3/m/77fa10900029bd64783e2c5f.png)
合肥师范学院实验报告册2013 / 201 学年第1 学期系别计算机科学与技术系实验课程高级语言程序设计专业班级姓名学号指导教师《高级语言程序设计》实验 班级: 学号: 姓名:-1-实验一 ——VC 工作环境及顺序结构程序设计一、实验目的1. 熟悉VC++的运行环境,掌握运行一个C 程序的基本步骤,包括编辑、编译、连接和运行;2. 理解顺序结构程序方式;3. 了解常用数据类型的输入输出方法;4. 了解C 程序的基本框架,能编写简单的C 程序,了解程序调试;二、实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。
1. 输入并运行一个简单、正确的程序。
输入编程示例 “Hello ,World !”程序,即: # inc lude “stdio.h” int main(void) {printf("Hello ,World !\n"); return 0; }1) 参考实验指导书P223~P233,学习C 程序的编辑、编译、运行,熟悉VC++6.0的基本界面操作。
2) 修改本例,使用printf ()输出自己的个性化签名,保存到文件ex1_1.c 中。
2. 程序改错题:# include stdio.h int mian(void) {printf( Welcome to You! \n" ) return 0;1) 分析本程序段中哪些地方存在错误?请标记出来,并给出修改意见。
2) 输入上面程序(或打开error1_2.c ),学习程序调试。
3. 程序阅读题:1) 请分析下面程序(ex1_3.c )运行结果是什么? # include <stdio.h> int main(void){ char c1,c2 ; c1=97; c2=98; printf( "c1=%c,c2=%c \n", c1, c2 ); printf( "c1=%d,c2=%d \n", c1, c2 ); return 0; } 运行结果是: 2) 若将程序第4,5行改为c1=197;c2=198;运行结果又如何?并简单分析。
高级语言程序设计实验-答案
![高级语言程序设计实验-答案](https://img.taocdn.com/s3/m/c1a4d9ea910ef12d2af9e73e.png)
要求前后两项求出的x的差的绝对值小于10-5。
退出
实验四
7、舍罕王是古印度的国王,据说他十分好玩。宰相达依尔
为讨好国王,发明了现今的国际象棋献给国王。舍罕王非常 喜欢这项游戏,于是决定嘉奖达依尔,许诺可以满足达依尔
提出的任何要求。达依尔指着舍罕王前面的棋盘提出了要求:
“陛下,请您按棋盘的格子赏赐我一点麦子吧,第1个小格
float x = 12.3, y = 2.6;
printf("%f\n", (float)(a * b) / 2); printf("%d,%d\n", (int)x % (int)y, a-1); }
退出
实验2
2、所谓反序数,就是将整数的数字倒过来后所形成的整 数。例如:1234的反序数是4321。已知a为4位整数,
(3)掌握switch语句基本语法,理解其适用场合。能够利 用其进行多分支程序设计
退出
实验4
实验目的:
(4)理解循环程序的执行过程,能够分析循环程序并给出 其运行结果
(5)熟练掌握while、for、do while语句的基本语法 (6)理解计数循环,条件循环的实现方法,并能正确应用 三种循环控制语句加以实现
且m不等于n,则称n和m是一对“幻影素数”。例如,107
与701是一对“幻影素数”。编程找出三位数中所有的幻影
素数,并统计共有多少对。
退出
实验四
10、歌德巴赫猜想是说任何一个大于2的偶数都能表示成两 个素数之和。歌德巴赫猜想的证明是一个世界性的数学难题, 至今未能完全解决。我国著名数学家陈景润先生为歌德巴赫 猜想的证明作出过杰出的贡献。
应用计算机可以很快地在一定范围内验证歌德巴赫猜想的正 确性。请编写一个C程序,验证指定范围内歌德巴赫猜想的 正确性,区间的范围要从键盘输入。
(完整版)高级语言程序设计习题答案(免费)
![(完整版)高级语言程序设计习题答案(免费)](https://img.taocdn.com/s3/m/519a22d269eae009591bec29.png)
7. a+b>c && b+c>a && c+a>b
8. (year%4 == 0) && (year%100!=0)||(year%400==0)
1.4
1.#include <ioห้องสมุดไป่ตู้tream.h>
void main()
23.已知i=0,j=1,k=2,则逻辑表达式++i||--j&&++k的值为(b)。
(a)0(b)1(c)2(d)3
24.执行下列语句后,x的值是( d ),y的值是( c )。
int x , y ;
x = y = 1;++ x || ++ y;
(a)不确定(b)0(c) 1(d) 2
25.设X为整型变量,能正确表达数学关系1< X < 5的C++逻辑表达式是( b, c, d )。
2. x * ( x * ( x * ( a * x + b ) + c ) + d ) + e
3. log( 1 + pow( fabs( ( a + b )/( a – b ) ),10)
4. sqrt(1 + 3.14159/2 * cos( 48 * 3.14159/180 ) )
5. 1/tan( ( 1 - x*x )/( 1 + x*x))
default:s+=2;
}
cout<<"s="<<s<<endl;
高级语言程序设计(C)实验与练习答案
![高级语言程序设计(C)实验与练习答案](https://img.taocdn.com/s3/m/8c09b22aa88271fe910ef12d2af90242a895ab17.png)
高级语言程序设计(C)实验与练习答案高级语言程序设计实验与练习答案实验一:基本数据类型与运算符1. 基本数据类型在C语言中,有几种基本数据类型,包括整数类型、浮点数类型、字符类型等。
其中,整数类型包括short、int、long等;浮点数类型包括float、double等;字符类型使用char表示。
这些基本数据类型在程序中用来存储各种不同类型的数据。
2. 运算符C语言支持各种运算符,包括算术运算符、关系运算符、逻辑运算符等。
算术运算符用于进行基本的数学运算,如加法、减法、乘法、除法等;关系运算符用于比较两个值之间的关系,如大于、小于、等于等;逻辑运算符用于进行逻辑操作,如与、或、非等。
实验二:控制流程与函数1. 控制流程控制流程是指程序中代码的执行顺序。
C语言中常用的控制流程语句包括条件语句(if-else语句)、循环语句(while循环、for循环)和跳转语句(continue语句、break语句)等。
这些语句能够根据程序的需求来控制代码的执行流程。
2. 函数函数是C语言中的一个重要概念,它将一段特定功能的代码封装在一个单独的单元中,通过调用函数来执行相应的功能。
函数可以有输入参数和返回值,用来实现程序的模块化和重复利用。
在C语言中,可以使用自定义函数和内置函数来实现各种功能。
实验三:数组与指针1. 数组数组是C语言中用来存储一系列相同类型数据的结构。
数组可以是一维的,也可以是多维的。
通过数组,可以方便地管理和访问一组数据。
在C语言中,数组的下标从0开始,通过下标可以访问数组中的元素。
2. 指针指针是C语言中的一个重要概念,它表示一个内存地址。
通过指针,可以实现对内存的直接访问和操作。
指针变量用来存储一个地址,通过指针可以访问该地址上存储的值。
在C语言中,指针常用于数组、函数和动态内存分配等方面。
实验四:字符串处理1. 字符串字符串是由一系列字符组成的,以空字符('\0')结尾。
高级语言程序设计答案
![高级语言程序设计答案](https://img.taocdn.com/s3/m/d8e31bc63c1ec5da51e2707c.png)
安徽大学2006—2007学年第二学期《高级语言程序设计》考试试题(A)卷参考答案及评分标准一:单项选择题(30分,每小题2分)二:填空题(14分,每空2分)1. continue 得2分2. x%i==0 得2分3. *q 得2分str[m] 得2分4. scanf(“%d”,&a[i]) 得2分,a[i]前少&符号扣1分a[i]=a[N-i-1] 得2分printf("%d",a[i]) 得2分三:写出程序的运行结果(24分)1. 4 全对得4分,多写扣2分2. f 全对得4分,多写扣2分3. 1,41,54 答对一个得两分,两个得3分,全对得4分,多写扣1分4. 5,4,3,2,1, 全对得6分,逗号少扣2分,其他格式错再扣1分5. 19 21 75 答对一个得两分,全对得6分,多写只给2分,格式1分四、编程题(共32分)(每小题可以酌情给分)1.main(){ int a,b,c,x;scanf("%d,%d,%d ",&a,&b,&c); ------得2分if (a<b) {x=a; a=b;b=x; } ------得4分if (a<c) {x=a; a=c;c=x; } ------得6分if (b<c) {x=b; b=c;c=x; } ------得8分printf("%d,%d,%d \n",a,b,c); ------得10分}2.main(){int i,f[20],t=0;f[0]=f[1]=1; ------得2分for(i=2;i<20;i++)f[i]=f[i-1]+f[i-2] ; ------得5分for(i=0;i<20;i++){ printf("%d\t",f[i]);t++; ------得8分if (t%4==0) printf("\n");}} ------得10分3.main(){ struct student { long num;char name[10];float score[3];float total;} s[10]; ------得2分 int i,j,max;float x;for (i=0;i<3;i++){ scanf("%ld",&s[i].num);scanf("%s",s[i].name);for (j=0;j<3;j++){ scanf("%f",&x); s[i].score[j]=x; }} ------得6分 max=0;s[0].total=s[0].score[0]+s[0].score[1]+s[0].score[2];for (i=1;i<3;i++){ s[i].total=s[i].score[0]+s[i].score[1]+s[i].score[2];if (s[max].total<s[i].total) max=i;} ------得10分 printf("%ld %s %f\n",s[max].num,s[max].name,s[max].total);} ------得12分。
高级语言程序设计实验-答案
![高级语言程序设计实验-答案](https://img.taocdn.com/s3/m/c1a4d9ea910ef12d2af9e73e.png)
r,把b保存到a中,并把余数r保存到b中,重复上述过程,
直到b为0,a中的数即为最大公约数。)
退出
实验四
13、我国古代数学家张丘建在《算经》一书中曾提出过著名
的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五; 鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、
雏各几何?请编写C程序,解决“百钱买百鸡”问题。
赏我一粒麦子,第2个小格赏我两粒,第3个小格赏我四粒,
以后每一小格都比前一小格的麦粒数增加一倍,只要把棋盘 上的64个小格全部按这样的方法得到的麦粒都赏赐给我,
退出
实验四
我就心满意足了。”舍罕王听了达依尔的这个“小小”的要
求,想都没想就满口答应下来。
如果1立方米麦粒数约1.42e8粒,国王能兑现他的许诺吗?
是X;X说他的妈妈是C;C说Z是他的孩子。主持人听后知道
他们在开玩笑,全是假话。请编程分析出正确的母子关系。
退出
高等学校精品资源共享课程(省级) 省级教学成果一等奖建设教材
第5章 函数及其应用
揭安全
jieanquan@ 江西师范大学计算机信息工程学院
实验5
实验目的:
(1)理解系统函数调用的执行过程 (2)掌握函数的定义与调用方法 (3)理解嵌套与递归函数的执行过程,能够正确应用递归 法求解递归问题 (4)理解模块化程序设计的基本思想,并能根据实际问题
采用自顶向上或自顶向下的方法进行问题求解
退出
实验五
1、编写一个函数int sum(int n),求1+2+3+…+n的和作
为函数的返回结果,并编写main函数进行测试。
2、设计函数bool isSxh(int n)判断整数n是否是水仙花数,
c语言高级编程题
![c语言高级编程题](https://img.taocdn.com/s3/m/3d68cd35f342336c1eb91a37f111f18583d00cd7.png)
以下是一些C语言高级编程题目示例,您可以尝试解答或用于练习:
题目1 计算不同类型数据的字节大小
编写一个C程序,计算并输出int、float、double和char类型在当前编译器下的存储字节数。
c代码:
题目2 完数查找
编写一个C程序,找出1000以内的所有完数(一个数如果恰好等于它的因子之和,这个数就称为“完数”)。
例如:6 = 1 + 2 + 3。
c代码:
题目3 自由落体反弹问题
编写程序模拟一球从100米高度自由落下,每次落地后反跳回原高度的一半,直到第10次落地时,计算总路程以及第10次反弹的高度。
c代码:
请根据您的学习进度和理解程度选择适合自己的题目进行练习。
《高级语言程序设计》测试题
![《高级语言程序设计》测试题](https://img.taocdn.com/s3/m/913df706763231126fdb1107.png)
《高级语言程序设计》一、判断题(错误的在后面写“F”,正确的写“T”,每题1分)1. 程序是描述算法的编程工具。
2. 化将函数模板与某个具体数据类型连用,就产生了模板函数,称这个过程为函数模板实例化。
3. C++语言中,用来为对象初始化的特殊成员函数称为构造函数;用于在对象撤销时执行一些清理任务的特殊成员函数称为析构函数。
4. 逐条翻译并执行的翻译程序称为编译程序5. 把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树。
类群是由一些彼此密切相关的类和类族组成的。
6. 如果在定义一个类时,该类继承了多个基类的特征,那么这个继承关系称为多重继承。
7. 不同对象可以调用相同名称的函数,并可导致完全相同的行为的现象称为多态性。
8.形式参数表是用括号分隔的变量说明列表,变量称为函数的形式参数,有时也简称为形参。
9..在C++语言中,只要在声明函数原型时形式参数的个数或者对应的类型不同,两个或更多的函数就可以共用同一个名字。
这种在同一作用域中允许多个函数使用同一函数名的措施被称为重载。
9.C++的作用域分辨:可以迫使编译器“看到”当前作用域的外层部分,存取那些被隐藏的名字。
这是由作用域分辨操作符实现的,这一过程叫做作用域分辨。
11.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。
12.所有的表达式都有值。
13.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
14.类的静态数据成员需要在定义每个类的对象时进行初始化。
15.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
16.当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。
17.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
高级语言c程序设计试题及答案
![高级语言c程序设计试题及答案](https://img.taocdn.com/s3/m/c4aaad8d32d4b14e852458fb770bf78a65293ad0.png)
高级语言c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C3. 下列关于C语言函数的描述中,正确的是()。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以嵌套定义答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. =答案:A5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的下标从0开始B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后可以改变答案:A6. 在C语言中,用于定义指针的关键字是()。
A. ptrB. pointC. *D. &答案:C7. 下列关于C语言中结构体的描述中,错误的是()。
A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体变量不能存储数据D. 结构体可以包含函数答案:C8. 在C语言中,用于实现文件操作的函数库是()。
A. stdio.hB. stdlib.hC. string.hD. fcntl.h答案:A9. 下列关于C语言中预处理指令的描述中,错误的是()。
A. #define可以定义宏B. #include用于包含头文件C. #if用于条件编译D. #else用于循环控制答案:D10. 在C语言中,用于实现动态内存分配的函数是()。
A. mallocB. freeC. callocD. realloc答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明通常包括变量的____和____。
答案:类型名称2. C语言中,用于输入的函数是____。
高级语言程序设计题库
![高级语言程序设计题库](https://img.taocdn.com/s3/m/c615065f02d8ce2f0066f5335a8102d276a261a8.png)
高级语言程序设计题库一、选择题1. 以下哪个是高级语言程序设计的特点?A. 与机器语言紧密相关B. 依赖于特定的计算机硬件C. 易于学习和使用D. 执行速度极快2. 在高级语言程序设计中,以下哪个概念不属于面向对象编程?A. 类B. 对象C. 继承D. 过程3. 在使用高级语言编写程序时,以下哪种情况不会发生?A. 编译错误B. 运行时错误C. 逻辑错误D. 硬件故障4. 以下哪个选项不是高级语言程序设计中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 并行结构5. 在高级语言程序设计中,以下哪个是数组的特点?A. 存储空间连续B. 存储空间分散C. 元素类型不固定D. 元素数量不固定二、简答题1. 简述高级语言与低级语言的区别。
2. 解释面向对象编程的三个基本特征,并给出一个简单的例子。
3. 描述高级语言程序设计中的异常处理机制。
4. 什么是函数重载和函数覆盖?它们在程序设计中有什么作用?5. 描述循环结构在程序设计中的重要性及其应用场景。
三、编程题1. 编写一个函数,实现对一个整数数组的排序。
2. 编写一个程序,实现简单的学生信息管理系统,包括学生信息的添加、删除、查询和修改功能。
3. 编写一个程序,实现对文本文件的读取,并统计文件中每个单词出现的次数。
4. 编写一个程序,实现一个简单的计算器,可以进行加、减、乘、除等基本运算。
5. 编写一个程序,实现一个简单的文本编辑器,可以进行文本的输入、保存和读取。
四、案例分析题1. 分析以下程序段的逻辑错误,并给出修正方案:```cint sum = 0;for (int i = 1; i <= 10; i++) {sum += i * 2;}printf("The sum is: %d\n", sum);```2. 给出一个面向对象设计的例子,说明如何使用类和对象来解决实际问题。
3. 分析以下程序段的性能问题,并提出优化建议:```pythondef factorial(n):if n == 0:return 1else:return n * factorial(n - 1)```4. 描述在程序设计中使用递归的优缺点,并给出一个使用递归解决问题的例子。
高级语言程序设计练习题1及答案
![高级语言程序设计练习题1及答案](https://img.taocdn.com/s3/m/a140b708842458fb770bf78a6529647d2728348b.png)
一、单选题1、程序设计语言包括( )A.机器语言B.机器语言、汇编语言、高级语言C.高级语言D.汇编语言正确答案:B2、用C语言编写的程序( )A.以上说法都不对B.可直接被计算机硬件执行C.经过编译方式翻译成其机器指令,并链接后可以执行D.经过解释方式翻译成其机器指令后可以执行正确答案:C3、程序设计的基本步骤主要包括( )A.确定程序实现算法、编写程序以及程序测试B.确定程序设计方法,描述数据方式、编写程序以及程序调试C.确定数据结构,算法描述、编写程序以及程序测试D.数据描述,算法描述、编写程序正确答案:C4、一个C语言程序如何执行()A.从主程序开始执行B.子程序开始执行C.主函数main()开始执行D.主过程开始执行正确答案:C5、以下叙述中错误的是( )A.一个C程序只能有一个主函数B.C程序在书写时,有严格的缩进要求,否则不能编译通过C.C程序的主函数必须用main作为函数名D.一个C程序中可以包含多个不同名的函数正确答案:B6、下列叙述中错误的是( )A.后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件B.C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C.计算机不能直接执行用C语言编写的源程序D.后缀为.obj和.exe的二进制文件都可以直接运行正确答案:D7、C语言源程序中如何实现注释A. 一行中#开始的剩余部分为注释内容。
例如int a=10;#测试B. 一行中@开始的剩余部分为注释内容。
例如int a=10;@测试C. 一行中\\开始的剩余部分为注释内容。
例如int a=10;\\测试D.通过/* */ 界定的内容为注释内容。
例如/* 测试*/正确答案:D8、C语言程序中主函数的名称是A.mainB.MAINC.MainD.WinMain正确答案:A9、如下属于C语言的基本语句的是?A.x=sin(100)B.#include <stdio.h>C.1+2;D.x=1+2正确答案:C10、C语言中界定函数开始与结束的符号是A.< >B.( )C.[ ]D.{ }正确答案:D11、不合法的c语言标识符是()A.MDB.x.cC.IntD._abc正确答案:B12、关于C语言中数的表示,以下叙述中正确的是()A.只有实型数在允许范围内能精确无误的表示,整型数会有误差B.只有整型数在允许范围内能准确无误的表示,实型数会有误差C.只要在允许范围内整型数和实型数都能精确的表示D.只有用八进制表示的数才不会有误差正确答案:B13、已知char a=’\17’,变量a中()A.存储3个字符B.存储1个字符C.错误的变量声明与初始化D.存储2个字符正确答案:B14、有定义:int a; long b; double x,y; 则以下选项中正确的表达式是( )A.y=x+y=xB.a=x/10=y;C.a%(int)(x-y)D.(a*y)%b正确答案:C15、设有定义:int x=2;,以下表达式中,值不为6的是A.x++,2*xB.x*=(1+x)C.2*x, x+=2D.x*=x+1正确答案:C16、若有int n=6;表达式n%=n+=n-=n*n的值为()A.0B.10C.12D.6正确答案:A17、sizeof(float)是()A.一个整型表达式B.一个函数调用C.一个不合法的表达式D.一个双精度型表达式正确答案:A18、判断char型变量c1是否为大写字母的正确表达式是()A.'A'<=c1<='Z'B.('A'<=c1)AND('Z'>=c1)C.(c1>='A')&(c1<='Z')D.(c1>='A')&&(c1<='Z')正确答案:D19、正确表达式数学不等式10<x<100的C语言表达式是?(假设x 已经声明)()A.10<x and x<100B.10<x && x<100C.10<x<100D.10>x>100正确答案:B20、关于如下语句的输出结果为const int a=100;a=a+100;printf("%d",a);A.300B.200C.100D.程序存在错误无法运行正确答案:D21、有以下程序void main(){int a=6,b=7;printf("a=%%d,b=%%d",a,b);}输出结果是()。
高级语言程序设计习题(最新版带答案)
![高级语言程序设计习题(最新版带答案)](https://img.taocdn.com/s3/m/082a186fe3bd960590c69ec3d5bbfd0a7856d559.png)
高级语言程序设计习题(最新版带答案)高级语言程序设计习题(最新版带答案)一、选择题1. 下列选项中,不属于高级语言程序设计的语言是:A. C语言B. Java语言C. HTML语言D. Python语言答案:C2. 在C++语言中,关键字用于:A. 定义变量B. 定义函数C. 标识程序结构D. 存储数据答案:C3. 以下哪个不属于Python的内置数据类型?A. intB. floatC. listD. string答案:D二、填空题1. 在Java中,用于接收命令行输入的方法是____。
答案:Scanner类的next方法2. C语言中,用于声明一个指针变量的符号是____。
答案:*三、编程题1. 编写一个Python程序,输入两个整数,计算并输出它们的和。
答案:```pythonnum1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))sum = num1 + num2print("两个整数的和为:", sum)```2. 编写一个C++程序,输入一个整数,判断它是否为偶数,是则输出"偶数",否则输出"奇数"。
答案:```c++#include <iostream>using namespace std;int main() {int num;cout << "请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << "偶数" << endl;} else {cout << "奇数" << endl;}return 0;}```四、应用题输入一个整数n,计算并输出1到n的所有整数的平方和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数编程题(1)编写一个程序实现如下功能:编写两个函数,其功能分别为:①求N个整数的最大值和次大值。
②求两个整数的最大公约数和最小公倍数。
主函数调用这两个函数(程序以文件名sy6_7.c存盘)。
#include<stdio.h>#define N 10void max(int b[],int n) //求最大数和次大数{int i,max,max2;max=max2=b[0];for(i=1;i<n;i++)max=max<b[i]?b[i]:max;for(i=1;i<n;i++)if(max2<b[i] && b[i]<max)max2=b[i];printf("\n%d is max, %d is smax ",max,max2);}int gcd(int m,int n) //最大公约数和最小公倍数{int r;r=m%n;while(r){m=n;n=r;r=m%n;}return n;}void main(){int a1,a2,b,c,i;int a[N];printf("请输入%d个整数:",N);for(i=0;i<N;i++)scanf("%d",&a[i]);max(a,N);printf("输入两个正正数:");scanf("%d%d",&a1,&a2);b=a1*a2;c=gcd(a1,a2);printf("%4d和%4d的最大公约数%4d,最小公倍数%4d\n",a1,a2,c,b/c);}2)编写一个程序实现如下功能:验编一函数,功能为判断一字符串是否为回文。
回文是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。
在主函数中对输入的5个字符串统计其中回文的个数。
(程序以文件名sy6_8.c存盘)。
#include <stdio.h>#include <string.h>int function(char a[]){int i;int l=strlen(a);for(i=0;i<l/2;i++)if(a[i]!=a[l-i-1])return 0;return 1;}void main(){char s[100];int count=0,i;for(i=1;i<=5;i++){ printf("输入第%d个字符串:",i);scanf("%s",s);if(function(s)){printf("%s是回文\n",s);count++;}else printf("%s不是回文\n",s);}printf("共有回文%d个\n",count);}(3)编写一个程序实现如下功能:利用自定义函数,实现将一个十进制数转换成二进制数(程序以文件名sy6_9.c存盘)。
#include "stdio.h"#include "string.h"void main(){int i,n;char a[33];void trans10_2(char x[],int m);printf("\nInput a positive integer:");scanf("%d",&n);trans10_2(a,n);for (i=strlen(a)-1;i>=0;i--)printf("%c",a[i]);printf("\n");}void trans10_2 (char x[],int m){int r,i=0;while(m>0){r=m%2;x[i]=r+48;m=m/2;i++;}x[i]='\0';}指针编程(1)编写一个程序实现如下功能:利用指针作函数参数,设计一函数实现将n个元素进行排序(程序以文件名sy7_7.c存盘)。
#include<stdio.h>void sort(int *p,int n){int i,j,t;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(*(p+j)>*(p+j+1)) //由小到大排序{ t=*(p+j); *(p+j)=*(p+j+1);*(p+j+1)=t;}}void main(){int a[10],i;printf("输入%d个正数:",10);for(i=0;i<10;i++)scanf("%d",&a[i]);sort(a,10); //调用排序函数printf("排序后:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");}(2)编写一个程序实现如下功能:利用指针作函数参数,设计一函数对字母进行简单加密,把当前的字母变成后面第3个字母,如最后三个字母x、y、z变成字母a、b、c。
再设计一函数把加密字符还原(程序以文件名sy7_8.c存盘)。
#include<stdio.h>void jiami(char *ch){ char *p=ch;while(*p!='\0'){ if(*p>='a' && *p<='z'|| *p>='A'&& *p<='Z'){*p=*p+3;if(*p>'Z'&&*p<'a' ||*p>'z') *p=*p-26;}++p;}}void jiemi(char *ch){ char *p=ch;while(*p!='\0'){ if(*p>='a'&& *p<='z'||*p>='A'&& *p<='Z'){ *p=*p-3;if(*p<'A'||*p<'a'&&*p>'Z') *p=*p+26;}++p;}}void main(){char line[80];printf("请输入一行字符:\n");gets(line);jiami(line);puts(line);jiemi(line);puts(line);}(3)编写一个程序实现如下功能:输入一个字符串,内有数字和非数字字符,如:a123x456 17960?302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。
例如123放在a[0]中,456放在a[1]中……统计共有多少个整数,并输出这些数(程序以文件名sy7_9.c存盘)。
#include <stdio.h>#include <string.h>void main(){char ch[1000],*p=ch;int a[50],*q=a,num=0,i;gets(ch);for( ; *p!='\0'; p++)if(*p>='0' && *p<='9'){*q=(*p)-'0';p++;while(*p>='0' && *p<='9')*q=(*q)*10+(*(p++)-'0');num+=1;q+=1;}for(i=0,q=a; i<num; i++,q++)printf("%d ",*q);printf("\n一共输入了%d个数字。
\n",num);}结构体链表编程题(1)编写一个程序实现如下功能:有4名学生,每个学生信息包含学号、姓名、数学成绩、英语成绩、C语言成绩和三门课程的总分,并对数据进行输入和输出(程序以文件名sy8_7.c存盘)。
#include<stdio.h>#define N 4void main(){ struct student{ int no;char name[16];float math,eng,c;float sum;};struct student st[N];int i;printf("请输入%4d 个学生的学号、姓名、数学、英语、C++成绩\n",N);for (i=0;i<N;i++){scanf("%d %s",&st[i].no,&st[i].name);scanf("%f%f%f",&st[i].math,&st[i].eng,&st[i].c);st[i].sum=st[i].math+st[i].eng+st[i].c;}printf("\n%10s%10s%5s%5s%5s%10s\n","NO","NAME","MATH","ENG","C++","SUM");printf("\n\n");for(i=0;i<N;i++)printf("%10d%10s%5.1f%5.1f%5.1f%10.1f\n",st[i].no,st[i].name,st[i].math,st[i].eng,st[i].c,st[i].su m);}(2) 编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能:①为点输入坐标值。
②求两个点中点坐标。
③求两点间距离。
(程序以文件名sy8_8.c存盘) #include<stdio.h>#include<math.h>struct point{ float x,y; } ; /*定义一个点结构*/ struct point inputpoint( ) ; /*输入点坐标值*/struct point midpoint(struct point p1,struct point p2 ); /*两个点中点坐标*/double dists(struct point p1,struct point p2 ); /*两点间距离*/void main(){ struct point a,b,c;printf("输入第一个点坐标:\n");a=inputpoint( );//printf("输入第二个点坐标:\n");b=inputpoint( );c=midpoint(a,b );printf("中点坐标为:(%5.1f,%5.1f)\n",c.x,c.y);printf("两点站距离为:%10.4f\n",dists(a,b));}struct point inputpoint( ){ struct point t;scanf("%f%f",&t.x,&t.y);return t;}struct point midpoint(struct point p1,struct point p2 ){ struct point t;t.x=(p1.x+p2.x)/2;t.y=(p1.y+p2.y)/2;return t;}double dists(struct point p1,struct point p2 ){ double d;d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));return d;}(3)编写一个程序实现如下功能:建立一个单链表,每个结点数据要有职工号、工资。