高级语言程序设计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题。
- 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中,其语句是 ____________ 。