高级语言程序设计C
高级语句程序设计(C)经典试题及答案讲解
高级语句程序设计(C++)经典试题一、单项选择题1、在一个C++程序中,main函数的位置()。
①必须在程序的开头②必须在程序的后面③可以在程序的任何地方④必须在其它函数中间2、一个C++程序的执行是从()。
A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束3、在计算机语言中,以下描述正确的是:A、高级语言较低级语言更远离对硬件的直接操作。
B、高级语言较低级语言更接近对硬件的直接操作。
C、C++是世界上第一种计算机高级语言。
D、C语言是由美国的微软公司研制成功的。
4、C++源程序的实现一般要经过三个步骤,其中不包括:A、编辑B、维护C、编译D、运行5、设i=1,j=2,则表达式i++ +j的值为()。
① 1 ② 2 ③ 3 ④6、设i=1,j=2,则表达式++i+j的值为()。
① 1 ② 2 ③ 3 ④7、执行下列语句后,x的值是()。
int x,y;x=y=1; ++x||++y;①不确定② 0 ③ 1 ④ 28、已知x=5,则执行语句x+=x-=x×x; 后,x的值为()。
① 25 ② 40 ③ -40 ④ 209、常量是在程序中:A、经常被使用的量。
B、最高级的量。
C、按固定周期使用的量。
D、按固定值使用的量。
10、有如下程序段:int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为()。
① ture ② false ③ 0 ④ 111、下面程序的输出结果是()。
#include <iostream>using namespace std;int main( ){ int a=6,b=6;if(a>5)a-=1;b+=1;elsea+=1;b-=1;cout<<”a=”<<a<<endl;cout<<”b”<<b<<endl;return 0; }① 5 7 ② a=5 b=7 ③ a=5 b=6 ④编译时出错12、下面程序的输出结果是()#include <iostream>using namespace std;int main( ){ int a=6,b=6;if(a>5){a-=1;b+=1;}else{a+=1;b-=1;}cout<<”a=”<<a<<endl;cout<<”b=”<<b<<endl;return 0; }① 5 7 ② a=5 b=7 ③ a=5 b=6 ④ a=6 b=513、下面程序的输出结果是()#include <iostream>using namespace std;int main( ){ int x=6,y=8;if(x++<6)cout<<++y<<endl;if(x>6)cout<< --y<<endl;elsecout<<y++<<endl;return 0;}① 8 ② 7 ③ 9 ④编译时出错14、下面程序的输出结果是()#include <iostream>using namespace std;int main( ){ int x=6,y=8;if(++x<6)cout<<++y<<endl;elsecout<<y++<<endl;if(x>6)cout<< --y<<endl;return 0; }① 8 8 ② 9 7 ③ 7 8 ④编译时出错15、下面程序的输出结果是()#include <iostream>using namespace std;f(int a){ int b=0;static int c=3;b++;c++;return (a+b+c);}int main( ){ int a=2,i;for(i=0;i<3;i++)cout<<f(a)<<endl;return 0;}① 7 8 9 ② 7 7 7 ③ 7 10 13 ④ 7 9 1116、下面程序的输出结果是()#include <iostream>using namespace std;void fun(int x,int y,int z){ z=x×x+y×y; }int main( ){ int z=68;fun(5,2,z);cout<<z;return 0; }① 0 ② 29 ③ 68 ④无定值17、下面程序的输出结果是()#include <iostream>using namespace std;int fun(int a,int b){ return (++a×b++); }int main( ){ int x=3,y=4,z=5,r;r=fun(fun(x,y),z);cout<<r<<x<<y<<endl;}① 85 3 4 ② 60 3 4 ③ 126 4 5 ④ 85 4 518、下面的程序中,当输入4、2时,其输出结果是()#include <iostream>using namespace std;long fib(int n){ if(n>2) return (fib(n-1)+fib(n-2));else return (n); }int main( ){ int i;cout<<”请输入一个整数:”;cin>>i; cout<<endl;cout<<fib(i)<<endl;return 0; }① 5 1 ② 4 2 ③ 5 2 ④ 6 219、下面程序的输出结果为()#include <iostream>using namespace std;unsigned func(unsigned num){ unsigned d=1,k;do {k=num%10;num/=10;}while(num);return (k); }int main( ){ unsigned n=26;cout<<func (n);return 0; }① 2 ② 4 ③ 6 ④ 520、下面程序的输出结果为()#include <iostream>using namespace std;func (int a,int b){ int c;c=a×b;return (c );}int main( ){int x=6,y=7,z=8,r;r=func((x--,y,x×y),z--);cout<<r;return 0; }① 294 ② 245 ③ 280 ④ 41621、执行语句int i=10,*p=&i;后,下面描述错误的是()。
高级C语言程序设计(高级免费版)
1 文本的屏幕输出和键盘输入[问题的提出] 编制一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色前景,右边窗口为绿色背景,红色前景。
两个窗口都设计为文本输入,即在窗口中可以输入文字,在窗口屏幕中显示出来。
使用tab 键在左右两个窗口中切换,每个窗口都有光标,活动窗口光标进行闪烁。
[分析] 在这个问题中我们遇到了在初学C 时不曾接触到的新概念,如文本窗口、前景色、背景色,以及围绕它们要解决的新问题:(1)如何在屏幕中开文本输入的窗口?(2)如何设置窗口的前景色、背景色或闪烁等显示属性?(3)如何通过按键来控制窗口的切换?[解答] 要解决这一编程问题,要求有两方面的学习过程:一是对于分析中的前两个问题,要求大家了解有关文本的屏幕输出的知识;二是对于第3 个问题,要求对键盘的输入有所了解。
下面先就这两个方面的内容做一介绍。
1.1 文本的屏幕输出显示器的屏幕显示方式有两种:文本方式和图形方式。
文本方式就是显示文本的模式,它的显示单位是字符而不是图形方式下的象素,因而在屏幕上显示字符的位置坐标就用行和列表示。
Turbo C 的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。
这些函数的有关信息(如宏定义等)均包含在conio.h 头文件中,因此在用户程序中使用这些函数时,必须用include 将conio.h 包含进程序。
1) 文本窗口的定义Turbo C 默认定义的文本窗口为整个屏幕,共有80 列25 行的文本单元。
如图3-1 所示,规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25),并规定沿水平方向为X 2轴,方向朝右;沿垂直方向为Y 轴,方向朝下。
每个单元包括一个字符和一个属性,字符即ASCII 码字符,属性规定该字符的颜色和强度。
除了这种默认的80 列25 行的文本显示方式外,还可由用户通过函数:void textmode(int newmode);来显式地设置Turbo C 支持的5 种文本显示方式。
02-《高级语言程序设计(C)》C语言概述
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序最简单实例 int main() { //很多人这么用,不好! } //省略语句return 0;
Ø 编译程序会给出下述警告-----warning
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序最简单实例
int main(int argc,char *argv[]) { return 0; }
Ø 这种程序框架也非常常用,但要等 学习指针后才能理解其含义!这种 框架可以接受操作系统(OS)传给 该程序的参数。
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言:保留字
Ø 注意:main、include、define等, 以及printf、scanf等函数并不是保留 字。它们一般被称为预定义标识符。 Ø 包含大写字母的单词也一定不是保留 字,如:Int、SHORT等。 Ø 更不能想当然地认为integer、real等 是保留字。 Ø 自己抄写一遍C的保留字!
Copyright © 2000-2013 王灿辉. All Rights Reserved.
C 语言程序实例
#define PI 3.1415927 //C惯例,常量用大写字母! /*常量定义,使得常量的意义明确,易维护, 程序中不能改变常量的值,不能用;结束*/ #include <stdio.h> void main() { //计算圆的面积 float r,s; //变量定义,程序中用到的每个变量都必须先定义才能使用 r=2.0f; /*赋值语句,每个语句均用;结束*/ /*输出圆的面积*/ s=PI*r*r; //赋值语句,有计算功能,每个语句均用;结束 printf("area is : %f\n",s); }
高级语言程序设计(c语言)
徐州 08 计、徐州 08 机、江苏 08 机、江阴 08 计、江阴 08 电、江阴 08 数、江阴 08 机、江技 08 数、江技 08 电、常州 08 电、常州 08 数、ZH 计0824、ZH 机0821《高级语言程序设计(C 语言)》复习一、选择题1、设 x、y、z 都是整型变量,x、y 的初值都是 5,执行 z=(++x)+(y- -)+1 后,x、y、z 三变量的值按顺序是( D )。
A.5, 5, 11 B.6, 6, 13 C.4, 6, 12 D.6, 4, 122、C 语言中运算对象必须是整型的运算符是( A )。
A、%B、/C、!D、**3、以十六进制形式输出整数的格式说明符是( D )。
A.%u B.%ld C.%x D.%o4、引用结构体变量中的一个成员的方法是( D )A、结构体变量名&成员名C、结构体变量名*成员名B、结构体变量名->成员名D、结构体变量名.成员名5、在 Turbo 2.0 中,若定义 char c;.则变量c 在内存中分配的字节数是(A )。
A.1个 B .2 个 C.4 个 D.8 个6、合法的 C 语言赋值语句是(D)。
A、a=b=58B、k=int(a+b)C、a=58,b=58D、+ + i7、设有变量定义: int x=1,y=0;则表达式 x-->(y+x)?5:3 的值是(A )A.3 B.5 C.0 D.18、C 语言规定:简单变量作实参时,它和对应形参之间的数据传递方式是(C)A、由用户指定传递方式B、地址传递C、单向值传递D、由实参传给形参,再由形参传回给实参9、以下转义符中的表示“退格”的符号是(B )。
A.\n B.\b C.\t D.\f10、下列运算符中优先级最高的运算符是( A )。
A、!B、%C、- =D、&&11、下列程序段的输出结果是(C)。
x=9;while(x>7){ printf("*");x--;}A.**** B.*** C.** D.*12、以下叙述不正确的是( D )A、一个 C 源程序可由一个或多个函数组成B、一个 C 源程序必须包含一个 main 函数C、C 程序的基本组成单位是函数D、在 C 程序中,main 函数可以被其他函数调用13、结束 while(表达式)循环的条件是(B )A.当表达式的值为 0 时 B.当表达式的值不为 0 时C.当表达式的值为 1 时 D.当表达式的值为非 1 时14、为表示关系:x≥y≥z,应使用的 C 语言表达式是(A)。
高级语言程序设计___概述和基础
C语言的特点
3.直接访问内存的物理地址
由于能进行位(bit)一级的操作。实现了对硬件的编程操作, 因此C语言集高级语言和低级语言的功能于一体,既可用于系 统软件的开发,也适合于应用软件的开发。
4.结构化的控制语句
C语言程序是由函数集合构成,函数各自独立,层次清晰, 便于按模块化方式组织程序,易于调试和维护。
2020/5/26
2.4 C程序的上机步骤
开始
有
可执行 目标程序
f.exe
编辑
编译
有错? 无
连接
源程序 f.c
目标程序
f.obj
库函数和 其他目标
程序
ห้องสมุดไป่ตู้
执行
2020/5/26
结果正确? 正确
结束
编译器Turbo ++3.1简介
编辑区域
工具栏
菜单
消息窗口
2020/5/26
编译器Turbo ++3.1使用注意事项
2020/5/26
本章内容
1. C语言的基本词法 2.C语言的基本语句分类 3. C程序的基本构成 4. C程序的开发环境
2020/5/26
2.1 C语言的基本词法
1.字符集: 主要以键盘上已有的字符 注意:表2-2
2.保留字(关键字): C语言中特殊意义 的词
注意:表2-3 3.标识符: 用户自己定义的字符序列,通 常表示变量名、函数名,数组名等
若使用基本输入输出函数,请在代码起始位置写上包含 语句#include <stdio.h>。
若主函数main()为无返回值类型,则在main前写上 202v0/o5/i2d6 ,表示无返回值类型。
《高级语言程序设计(C)》期末考试试题
《高级语言程序设计(C)》期末考试试题一、选择题(本题共20道小题,共40分。
)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。
A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); }以上程序段的输出结果是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=b9.以下程序的输出结果是()。
C高级语言程序设计实验内容
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);
高级语言程序设计C随堂练习
第一章基本数据及表达式> 1.1 概述本次练习有5题,你已做5题,已提交5题,其中答对5题。
当前页有5题,你已做5题,已提交5题,其中答对5题。
1. 一个最简单的C++程序,可以只有一个()。
(A)库函数(B)自定义函数(C)main函数(D)空函数答题: A. B. C. D. (已提交)参考答案:C问题解析:2. 函数名是(),用于识别和调用函数。
(A)关键字(B)标识符(C)常数(D)语句答题: A. B. C. D. (已提交)参考答案:B问题解析:3. 用C++语言编写的源程序要成为目标程序必须要经过()。
(A)解释(B)汇编(C)编辑(D)编译答题: A. B. C. D. (已提交)参考答案:D问题解析:4. C++程序中的简单语句必须以()结束。
(A)冒号(B)分号(C)空格(D)花括号答题: A. B. C. D. (已提交)参考答案:B问题解析:5. 程序中把表达式“a+0.5”写为“a*0.5”,是()错误。
(A)编译(B)连接(C)运行(D)逻辑答题: A. B. C. D. (已提交)参考答案:D问题解析:第一章基本数据及表达式 > 1.2 C++语言的字符集及词汇本次练习有5题,你已做5题,已提交5题,其中答对5题。
当前页有5题,你已做5题,已提交5题,其中答对5题。
答题: A. B. C. D. (已提交)参考答案:A问题解析:3. 在C++语句中,两个标识符之间()不能作为C++的分隔符。
(A)数字(B); (C): (D)+答题: A. B. C. D. (已提交)参考答案:A问题解析:4. 可以用于命名变量的标识符是()。
(A)3x (B)const (C)name_2 (D)答题: A. B. C. D. (已提交)参考答案:C问题解析:5. 说明变量a是整型变量的正确语句是()。
(A)int a; (B)inta; (C)Int a; (D)INTa;答题: A. B. C. D. (已提交)参考答案:A问题解析:第一章基本数据及表达式 > 1.3 C++语言的基本数据类型及存储形式本次练习有5题,你已做5题,已提交5题,其中答对5题。
高级语言程序设计—从C到C++(第二版)课件:C语言入门
C语言入门
程序执行后,输出结果显示在Windows的Console控制台(也称作Windows的命令行DOS框,本书中简称为控制台)中。 运行结果中,在标题栏列出了当前运行的程序“Lianxi_1_1.exe”,该程序即源程序编译之后的可执行程序。控制台上显 示出要求输出的文字“欢迎使用C语言!”,以及该程序执行所用时间与返回值。当根据控制台上的提示“请按任意键继续…” 操作时,该程序运行结束。 虽然例1.1仅有短短数行程序代码,但是已经具备了C语言的基本框架和特征。源程序中符号“//”后面的内容为注释,注 释的作用是在源程序中对特定的代码进行简要解释,起到标记相应代码的作用,以增强程序的可读性,尤其是在复杂的源程序 文件中,注释对理解源代码起到了非常重要的作用。当程序运行时,注释不会对程序产生任何作用。 C语言中的注释有两种形式: (1) 单行注释:使用双斜线符号“//”注释其后的内容,表示双斜线以后到本行结束的内容均为注释部分。 (2) 多行注释:使用一对符号“/*”与“*/”完成内容注释,表示从符号“/*”开始到符号“*/”结束之间的内容均为注释 ,无论这些内容是在一行还是多行中。 单行注释短小精悍,多用于代码中对某语句的解释。多行注释可以详细描述某个部分的具体功能。C语言编译器在编译源 程序时,对注释部分忽略不计,不会为注释生成机器代码。 源程序的第二行以“#”开始的部分,是一个预处理指令。该指令在对程序进行编译之前告诉预处理器,该程序要包括标 准输入输出函数库。其中“stdio”是“standard input&output”的缩写,扩展名“.h”中的“h”是英文单词head的缩写,
高级语言程序设计(C)后附答案
学习中心/函授站_姓名学号西安电子科技大学网络与继续教育学院2019学年上学期《高级语言程序设计(C)》期末考试试题(综合大作业)考试说明:1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片);2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净。
一、选择题(本题共20道小题,共40分。
)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。
A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 以上程序段的输出结果是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=b9.以下程序的输出结果是()。
高级语言程序设计(C语言描述)(第2版)
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套教材——《高级语言程序设计实验指导与习题集》,包括“上机指导”、习题及其解答、成套 的自测题和“程序设计课程设计大纲”(为三学期制中的小学期提供)等内容。
教材特色
该教材对变量存储等相关内容就不同开发环境进行了讲解。书中C程序设计语言与程序设计方法两部分内容相 对独立,注重程序设计实践。
该教材对很多过程性的内容增加了图表解释,增强了可读性,使读者形成条理、结构性强的思维过程。
作者简介
吕国英,山西大学计算机与信息技术学院副教授,全国优秀教师,宝钢优秀教师获得者;中国民主促进会会 员。主持的“算法设计课程群教学研究与改革实践”项目荣获山西省政府教学成果一等奖,多次指导学生获“全 国软件专业人才设计与开发大赛”一等奖,获“华北五省(市、自治区)及港澳台大学生计算机应用大赛”一等 奖。
该教材的编写者有吕国英、李茹、王文剑、王江、钱揖丽、杨红菊、门昌骞、徐乾,同时该教材的编写得到 了山西大学教务处和山西大学计算机与信息技术学院的支持。
2012年8月1日,该教材由清华大学出版社出版。
内容简介
该教材讲述了C程序设计语言的基本内容,同时以C语言为平台通过例题重点讲解程序设计的基本方法和技巧。 全书共9章,内容包括:C语言概述与数据类型、C语言的语句、程序设计基础、模块化程序设计、数值数据的连 续存储与应用、字符串、程序设计中的技巧、程序设计语言深入、程序设计实践。此外,附录还含有C语言要素、 编译预处理、常用标准库函数、ASCII码字符表。
高级语言程序设计(C语言描 述)(第2版)
2012年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
《高级语言程序设计(C)》课程教学大纲
教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校《高级语言程序设计(C)》课程教学大纲一、课程名称高级语言程序设计(C)二、课程英文名High Level Language Programming(C)三、课程编码020413001四、课程类别技术基础课五、学时数、学分数、开课学期56学时、3.5学分、第一、二学期六、适用专业自动化、电子、通信、纺织、机制、机电、测控、工业、电科、信计、交运、热动等七、编制者杨国林教授八、编制日期2009年8月九、课程的目的与任务C语言程序设计是一门重要的技术基础课,设置本课程的主要目的是通过对C语言的语法规则、数据类型、数据运算、语句、系统函数、程序结构的学习,掌握应用C语言进行程序设计的技能,为进行各种实用程序开发奠定一个良好的基础。
在知识方面要熟练掌握C语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现数据的简单加工;熟练掌握C程序的三种基本结构(顺序、选择、循环)的特点,能使用相关语句完成这三种基本结构的程序设计任务;掌握C 语言的常用库函数使用,以及用户函数的定义、调用、参数传递等方法。
在程序设计方面要熟练掌握阅读和分析程序的方法;熟练掌握设计和调试程序的方法及技巧;初步掌握实用程序的开发与调试技术,为后续课程的学习打下良好的基础。
十、本课程与其它课程的关系先修课程:《高等数学》,《计算机应用基础》中的计算机基本结构、软硬件的概念和上机操作知识。
后续课程:本课程的知识和技能对掌握《汇编语言程序设计》、《数据结构》、《操作系统》、《数据库及其应用》等课程中的算法、程序设计、程序调试方法均有一定的帮助。
并可为各专业后续课程的学习奠定程序设计基础。
十一、各教学环节学时分配教学课时分配十二、课程的教学内容、重点和难点与教学进度安排第一章 C语言概述(2学时)通过本章学习,要求了解程序、程序设计、高级语言的概念;认识C语言的字符集、保留字;了解C程序的基本结构和C语言程序的编译与执行,为后续章节的学习奠定一个基础。
高级语言程序设计
高级语言程序设计(C)模拟题四一、选择题(本题共20道小题,每题2分,共40分。
)1.以下有4组用户标识符,其中合法的一组是()。
A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define答案:C解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。
2. 若有下面的程序片段:int a[12]={0}, *p[3], **pp, i;for(i=0; i<3; i++)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)答案:C解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。
B.正确。
C.数组p的最大下标为2,错误。
D. *(*(p+2)+2)表示a[10],正确。
3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !aC) a=0 D) a答案:D解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。
4. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;其中0≤i≤9, 则对a数组元素不正确的引用上A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]答案:D解析:A. a[p-a]表示a[0],正确。
B. *(&a[i])表示a[i],正确。
C. p[i]表示&a[i],正确。
D. a数组最大下标为9,错误。
5. 以下程序的输出结果是int main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1答案:D解析:第一遍循环: x=10,y=10,x>8,输出 10 10后,x=9,y=1.第二遍循环:x=9>8,输出 9 1 后x=8,y=2。
高级语言程序设计(C)实验与练习答案
#include <stdio.h>
main()
{
int x;
float y;
printf("enter x,y:");
scanf("%d%f",&x,&y);
printf("x+y=%.1f\n",x+y);
}
(2)下列程序的功能为:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
printf("%d - %d=%d\n",a,b,m);
printf("%d * %d=%d\n",a,b,f);
printf("%d / %f=%f\n",a,2,d);
}
运行结果:
2.改错题
(1)下列程序的功能为:计算x*y的值并将结果输出;请纠正程序中存在错误(程序中有8处错误),使程序实现其功能,程序以文件名sy1_2.c存盘。
#include "stdio.h"
main()
{
int x,y;
printf("请输入两个整数\n");
scanf("%d%d",x, y);
printf("初始状态下的x:%d y: %d\n");
x=x+y
y=x-y;
x=x-y;
printf("最终状态下的x:%d y: %d/n",x,y);
x=2.0*a*b/((a+b)*(a+b));
高级语言程序设计(c语言)
高级语言程序设计(c语言)高级语言程序设计(C语言)C语言是一种高级的程序设计语言,广泛应用于软件开发、嵌入式系统和科学计算等领域。
本文将从C语言的基础知识、语法结构、常用函数和应用实例等方面进行论述,帮助读者更好地理解和应用C语言。
一、C语言的基础知识1. C语言简介C语言是由贝尔实验室的Dennis Ritchie于20世纪70年代开发的,它具有高效性、可移植性和灵活性的特点。
C语言提供了丰富的功能和库函数,可以实现底层硬件的访问和高级算法的编写。
2. 开发环境的搭建在开始学习C语言之前,我们需要配置开发环境。
常用的C语言开发环境包括GCC、Visual Studio和Code::Blocks等,选取适合自己的集成开发环境(IDE)进行安装和配置。
二、C语言的语法结构1. 变量和数据类型在C语言中,变量是用来存储和操作数据的。
通过定义变量的名称和类型,我们可以为不同类型的数据分配内存空间,并对其进行读写操作。
常见的数据类型包括整型、浮点型、字符型和指针型等。
2. 运算符和表达式运算符是C语言中用于进行各种数学和逻辑运算的符号。
通过使用运算符,我们可以实现加减乘除、位操作和条件判断等功能。
表达式是由运算符和操作数组成的,通过对表达式的计算可以得到一个具体的值。
3. 控制语句控制语句用于控制程序的执行流程,根据不同的条件执行不同的代码块。
常用的控制语句包括条件语句(if-else)、循环语句(for、while、do-while)和跳转语句(break、continue、goto)等。
三、C语言的常用函数1. 输入输出函数C语言提供了多个输入输出函数,用于从键盘读取数据和向屏幕输出结果。
常用的输入函数有scanf()和gets(),用于读取用户输入的数据;输出函数有printf()和puts(),用于将结果打印到屏幕上。
2. 字符串函数字符串是由字符组成的数组,在C语言中提供了一系列用于处理字符串的函数。
高级语言程序设计选择题
高级语言程序设计(C语言)选择题1.组成C程序的基本单位是()。
A、表达式与语句B、若干文件C、函数D、main函数7.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。
A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以字母、数字和下划线的任一种字符8.判断char型变量ch是否为大写字母的正确表达式是()。
A、’A’<= ch <=’Z’B、(ch>=’A’) & (ch<=’Z’)C、(ch>=’A’)&&(ch<=’Z’)D、(’A’<=ch)&(‘Z’>=ch)11.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include 命令是()。
A、#include <sring.h>B、#include <math.h>C、#include <st dio.h>D、#include <ctype.h>14.若有以下程序段:int x1=1, x2=2, x3=3;x3=x1/x2;printf(“%d\n”,x3);执行后输出的结果是()。
A、0.5B、1/2C、0D、316.若有定义 int a[10]; 则下面有问题的赋值语句是()。
A、a[0]=0;B、a[2*3]=2*3C、a[9]=2.5D、a[10]=10;17.以下程序的运行结果是()。
#include <stdio.h>void swap(int a, int b){ int t;t=a; a=b; b=t;}void main( ){int i=3, j=5;printf(“%d,%d,”,i,j);swap(i,j);printf(“%d,%d\n”,i,j);}A、3,5,3,5B、3,5,5,3C、3,3,5,5D、5,5,3,320.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据型为()。
高级语言程序设计—从C到C++(第二版)课件:结构化程序设计
结构化程序设计
3.多分支选择结构 if 语句的多分支选择结构的基本格式为
程序的控制流程进入多分支选择结构时,按照条件表达式出现的顺序进行判断,首先判断表达式1的条件是否成立,如果 成立,则执行该条件控制的语句后结束选择结构;如果表达式1的条件不成立,则对表达式2进行条件判断,依此类推,按序进 行;若所有的条件均不成立,则执行else后的内嵌语句。若其中有一条判断表达式成立,则其后的判断表达式将不再执行,因 此符合多选一的原则。其结构如图4-4所示。
程序的执行始终是按照语句自上而下的顺序,在执行过程中不会有任何跳转或变化,这就是典型的顺序结构的程序执行方 式。
结构化程序设计
4.2 选 择 结 构
结构化程序设计
在现实生活中,我们往往需要通过对给定条件的判断,决定下一步行为。 在程序设计中,也会遇到相同的情况。当程序执行到某个阶段,出现了可选的不同处理方案,此时就需要根据对某一特定 条件的判断,选择其中的一个分支来执行。 选择结构按照程序分支的多少可以分为单分支、双分支和多分支三种形式;根据使用的关键字不同,可以分为if语句和 switch语句。 4.2.1 if语句 if语句是最常用的一种选择结构,其基本形式包括单分支选择结构、双分支选择结构以及多分支选择结构。 1.单分支选择结构 if 语句的单分支选择结构的基本格式为
结构化程序设计
for语句的书写非常灵活,只要遵循for型循环结构的求值顺序,循环功能的实现将不受影响。在书写时,可以: (1) 在表达式1、3的位置书写与循环控制无关的表达式。(2) 将循环体内或外的语句添加到表达式1、3的位置,形成逗号 表达式。(3) 任意省略表达式1、2、3和循环体内的语句(相应位置的分号不能省)。 三种循环语句的比较: (1) 使用while型和do...while型循环,循环变量的初始化应在进入while和do...while语句之前完成;在for型循环中可由表 达式1实现。 (2) 使用while型和do...while型循环,循环体内应包含使循环趋于结束的语句;在for型循环中可由表达式3实现。 (3) 使用while型和do...while型循环,while后面的括号内应说明循环结束的条件;在for型循环中可由表达式2说明。 (4) 一般情况下,三种循环可以互相代替。while语句更适合处理“当”型循环;do...while语句更适合处理“直到”型循 环;for语句书写灵活、功能最强,适合处理各种循环问题。 使用循环结构处理问题时,通常需要考虑如下几个关键点: (1) 进入循环结构前需要对循环控制变量赋初值。 (2) 循环条件表达式可以是任意类型,但是结果只能是0(假)和非0(真)两种情况。 (3) 循环结构中应该有使循环趋于结束的语句,避免出现死循环。 (4) 当循环体包含一条以上的语句时,应该用花括号限定,以复合语句的形式出现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计(C)模拟题四一、选择题(本题共20道小题,每题2分,共40分。
)1.以下有4组用户标识符,其中合法的一组是()。
A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define答案:C解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。
2. 若有下面的程序片段:int a[12]={0}, *p[3], **pp, i;for(i=0; i<3; i++)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 答案:C解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。
B.正确。
C.数组p的最大下标为2,错误。
D. *(*(p+2)+2)表示a[10],正确。
3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !aC) a=0 D) a答案:D解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。
4. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;其中0≤i≤9, 则对a数组元素不正确的引用上A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]答案:D解析:A. a[p-a]表示a[0],正确。
B. *(&a[i])表示a[i],正确。
C. p[i]表示&a[i],正确。
D. a数组最大下标为9,错误。
5. 以下程序的输出结果是int main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1答案:D解析:第一遍循环: x=10,y=10,x>8,输出 10 10后,x=9,y=1.第二遍循环:x=9>8,输出 9 1 后x=8,y=2。
第三遍循环:x=8,不满足条件,循环结束,无输出。
6. 下面程序的输出是void prtv(int *x)printf("%d\n", ++*x);}int main(){ int a=25;prtv(&a);return 0;}A) 23 B) 24C) 25 D) 26答案:D解析:主函数传递给prtv函数的x值为25 ,在printf中,先对x自增,再输出x值为26。
7. 下面能正确进行字符串赋值操作的语句是A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s);答案:C解析:A. {}中的’“’也作为字符串中的一个字符,故右侧字符串长度为7>5,越界,错误。
B. 右侧字符的分割符应使用‘,’,而不是‘、’,错误。
C. 正确。
D. s是一个字符串常量,应在定义同时初始化且不能通过scanf函数或任何其他方式修改其值,错误。
8. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A)不定值 B)2 C)1 D)0答案:C解析: ||和&&运算符的优先级高于赋值运算符=,所以t为一个逻辑值,其只能为0或1,又表达式++x||++y&&++z为真,故t=1。
9. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=*p1 *(*p2);答案:B解析:B中不能将一个整形变量的值赋给一个指针变量,应改为p=&k 或者*p=k。
10. 请读程序:#include<stdio.h>#define SUB(X,Y) (X)*Yint main(){int a=3, b=4;printf("%d", SUB(a++, b++));return 0;}上面程序的输出结果是A) 12 B) 15C) 16 D) 20答案:A解析:printf函数中输出的内容等价于(a++)*b++,由于自增运算符优先级高于*,所以又等价于(a++)*(b++),应先输出a*b,后进行自增运算。
11. sizeof(float)的结果是:A) 4B) 6C) 8D)不确定答案:D解析:sizeof操作符用来测定数据类型位长,但在不同的系统中,同一数据类型的位长并不一定相同,故不确定,选D。
12. 若执行下面的程序时从键盘上输入3和4,则输出是int main(){int a,b,s;scanf("%d %d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);return 0;}A) 14 B) 16 C) 18 D) 20答案:B解析:scanf输入a=3,b=4,s=a=3,a<b,if条件成立,s=b=4,s=s*s=16,输出s=16,选B。
13. 以下程序的输出结果是# include <stdio.h>int main(){printf("%d\n",NULL);return 0;}A) 不确定的(因变量无定义) B)0 C)-1 D)1答案:B解析:NULL实际上为系统定义的一个符号常量,它的值就为0,所以输出0,选B。
14. 读程序:#include<stdio.h>f(char *s){char *p=s;while( *p!='\0') p++;return(p-s);}int main(){printf("%d\n",f("ABCDEF"));return 0;}上面程序的输出结果是A) 3 B) 6 C) 8 D) 0答案:B解析:’\0’为字符串结束标志,t函数的作用实际为统计参数字符串的长度并返回给主函数,所以输出结果为字符串长度6,选B。
15. 在下列叙述中,正确的一条是()。
A) 以下语句是正确的:char c[]=”ab”;B) 一维数组的定义可采用下列格式:int a(10);C) 下面的语句定义了一个二维数组:float a[3,4];D) 以下两个语句中的a[3][4]的含义相同:int a[3][4]; a[3][4]=1;答案:A解析:C语言数组可以在定义时用字符串赋初值,故答案为A。
其他项均不符合C语言关于数组的定义格式。
16. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a; scanf("%ld",p);B) p=(long *)malloc(8); scanf("%ld",p);C) scanf("%ld",p=&a);D) scanf("%ld",&a);答案:A解析:A中*p=&a;赋值语句错误,应改为p=&a;,才可以将p指针指向变量a,选A。
17. 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A) p+1 B) a+1 C) a++ D) ++p答案:C解析:a为常量指针,不能修改其值,故不能使用自增运算符,选C。
18. 下面程序的输出是int main(){enum team {my,your=4,his,her=his+10};printf("%d %d %d %d\n",my,your,his,her);return 0;}A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 15答案:C解析:枚举元素my没有赋初值系统自动赋值为0,同理,枚举元素his没有赋初值,根据枚举元素赋值规则,系统将his的值赋为它前面的your的值+1,选C。
19. 以下程序输出结果是int main( ){int m=5;if(m++>5)printf("%d\n",m);else printf("%d\n",m--);return 0;}A)7 B)6 C)5 D)4答案:B解析:主函数第二行中if条件先判断m>5不成立,然后有m=m++=6,再执行else语句,其中,先输出m=6,再使m自减为5,选B。
20. 以下程序运行后,输出结果是 int d=1;fun(int p){int d=5;d+=p++;printf("%d",d);}int main(){int a=3;fun(a);d+=a++;printf("%d\n",d);return 0;}A)84 B)99 C)95 D)44答案:A解析:主函数调用fun的同时,将实参a的值3传递给形参p,fun函数中,p=3,d+=p++;语句可以拆分为 d=d+p;p++;所以d=8,输出8。
子函数调用结束回到主函数中,fun 函数中对形参p的值的修改不能改变实参a的值仍为3,d=d+a=4,输出4,选A。
二、填空题(本大题共7小题,每题2分,共14分。
)1. 在C语言中,一个函数的函数体一般包括_______和_______。
答案:声明部分执行部分解析:函数结构构成规则。
在C语言中,一个函数的函数体一般包括声明部分和执行部分。
2. 在C语言中,不同级运算符之间运算次序存在_________的区别,同级运算符之间运算次序存在________的规则。
答案:先后结合性解析:不同级的运算符由优先级规定运算次序;同级的运算符的运算顺序由结合性决定。
3. 欲将字符串S1复制到字符串S2中,其语句是 ____________ 。