C++语言程序设计课程期末综合练习1
C语言程序设计期末复习题及答案(1)
5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)
(完整版)C语言期末考试题(含答案)
(完整版)C语⾔期末考试题(含答案)《C 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。
B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令。
C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。
D )C 语⾔中的函数不可以单独进⾏编译。
2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执⾏后的输出结果是()A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#includevoid main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执⾏后的输出结果是()A )⾃然数1~9的累加和B )⾃然数1~10的累加和C)⾃然数1~9中奇数之和D)⾃然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调⽤语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。
《C语言程序设计(第2版)》试题库 期末试卷一
期末试卷一一、单项选择题(每题1分,共45分)1.在计算机系统中,可以执行的程序是()A.源程序B.汇编语言程序C.机器语言程序D.ASCII码2.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.下列对C语言程序的书写格式的描述,()是正确的。
A.C语言程序中,每行只能写一条语句B.C语言程序书写时通常采用“缩排”方式C.C语言程序的书写中要求每行都要以分号作结尾D.注释行必须放在程序的头或程序的尾4.启动TC V2.0环境后,打开一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.C语言源程序文件file.c经系统编译、连接后,生成的文件名为()A.file.c B.file C.file.obj D.file.exe6.下列选项中,合法的C语言标识符是()A._abc*2 B._ch_er C.a-1 D.a7&b7.以下所列的C语言常量中,错误的是()A.0xFF B.1.2e0.5 C.2L D.’\72’8.以下变量x,y,t均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()A.x/y*z B.x*(1/(y*z))C.x/y*1/z D.x/y/z9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f",&x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()#include<stdio.h>main( ){ float a,b;scanf("%f%f",&a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio.h>main( ){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()#include<stdio.h>main( ){ int a=2,b=5;printf("a=%%d,b=%%d\n",a,b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0,则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10]; 则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-10]32.下面程序的运行结果是()main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.前面都不正确38.下列变量中,哪类变量的生存期和作用域是不一致的()A.自动变量B.定义在文件最前面的外部变量C.静态内部变量D.寄存器变量39.C语言中形参的缺省存储类别是()。
C语言程序设计期末考试试题及答案
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
Visual Basic程序设计期末综合练习题一_百度文库解析
Visual Basic程序设计期末综合练习题一一、单项选择题1.Visual Basic是一种面向对象的可视化编程语言,采取了(的编程机制。
A.从主程序开始执行B.按过程顺序执行C.事件驱动D.按模块顺序执行2.在Visual Basic中,窗体文件的扩展名为(。
A..vbpB..frmC..clsD..bas3.Visual Basic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是(。
A.设计模式B.编写代码模式C.中断模式D.执行模式4.如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正确格式是(。
A.Text.MytextB.Mytext*TextC.Mytext.(TextD.Mytext.Text5.下列关于变量的说法不正确的是(。
A.局部变量在声明它的过程执行完毕后就被释放了B.局部变量的作用域仅限于声明它的过程C.静态局部变量是在过程中用Static语句声明的D.局部变量是指那些在过程中用Dim语句或Static语句声明的变量6.关于对象的属性不正确的是(。
A.对象的属性一般有属性名和属性值B.可通过属性窗口设置属性的值C.可通过程序代码设置属性的值D.对象的所有属性值均可在设计时设计7.在设计阶段,双击窗体上的某个控件时,打开的窗体是(。
A.工程资源管理器窗口B.工具箱窗口C.代码编辑器窗口D.属性窗口8.要在窗体的标题内显示“myfrm”,使用的语句是(。
A.Form.caption="myfrm"B.Form1.caption="myfrm"C.Form1.Print"myfrm"D.Form.Print"myfrm"9.在VB中,下列变量名不合法的是(。
A.file_1B.fileC.file-1D.file_1_210.在设计动画时,用时钟控件来控制动画速度的属性是(。
大学C语言期末考试练习题(带详解答案)(1)
main( )
语{
言
int sum,pad;
程 序
sum=pad=5;
设 计
pad=sum++;
控
pad++;
制 结
++pad;
构
printf("%d\n", pad);
}
A)7
B)6
C)5
D)4
第20页
返回目录
● 单项选择题
D 10)以下程序的运行结果为____.
#include <stdio.h>
低成绩,当输入负数时结束输入。
#include <stdio.h>
main ( )
{ float score, max, min;
printf ( "Please input one score:\n" );
语
scanf ("%d", &score);
言 程
max=min=score;
while ( s__c_o__r__e_>__=__0_ )
类 型
m1=m2=1;
与 运
printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));
算
}
符
返回目录
● 填空题
第15页
C
语
n=1
言 程
6.以下程序的执行结果是___________。
序
#include<stdio.h>
设 计
main()
基
{
本 数
float f=13.8;
《C语言程序设计》综合练习试卷(一)
《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。
2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。
3.字符数组中字符串可以整体输入输出。
4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。
5.C语言中数组名是指针常量。
6.结构体类型中的各成员项数据类型可以不相同。
7.函数必须有返回值,否则不能使用函数。
8.C程序执行总是从第一个函数开始。
9.可以用关系运算符对字符串进行大小比较。
10.For循环只能用于循环次数已确定的场合。
试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。
1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。
int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 CA) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则表达式值为6的是A)*p+6 B)*(p+6) C)*p+=5 D)p+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。
国家开放大学C语言程序设计课程期末练习题
C语言程序设计课程期末练习题一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
A A. warning B. error C. warn D. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
国家开放大学电大考试《C语言程序设计》题库及答案
《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。
A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。
9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。
A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。
C语言程序设计期末考试试卷及答案1
C语言程序设计期末考试试卷及答案1------------------------------------------作者------------------------------------------日期一、单项选择题 ♉♉♉♉♉♉是合法的用户自定义标识符。
✌、 ♌♌ 、♐●☐♋♦ 、♐❒ 、 ♉♓♦♦ 若变量已正确定义并赋值,表达式♉♉♉♉♉♉不符合 语言语法。
✌、♋✉♌♍ 、 、 ♌ 、♋♌♍ ♉♉♉♉♉是不正确的字符常量。
✌、 ⏹ 、 、✂♋✂ 、 在 程序中,用♉♉♉♉♉表示逻辑值“真”。
✌、 、非 的数 、非 的数 、 大于 的数 ♉♉♉♉♉♉把⌧、⍓定义成♐●☐♋♦类型变量,并赋同一初值。
✌、♐●☐♋♦ ⌧ ⍓ 、♐●☐♋♦ ⌧ ⍓✉、♐●☐♋♦ ⌧ ⍓⌧ 、♐●☐♋♦ ⌧⍓ 若变量已正确定义,表达式♉♉♉♉♉♉的值不是 。
✌、 、 、♋ 、 ♈ 若变量已正确定义,语句“♓♐☎♋♌✆ ♏●♦♏ ”和♉♉♉♉♉♉等价。
✌、 ☎♋♌✆✍ 、 ♋♌、 ♋♌ 、♋♌ ✍ ♉♉♉♉♉,则♋和♌的值都是 。
♦♍♋⏹♐☎✂♋♎ ♌♎✂♋ ♌✆;✌、 、 、♋ ♌ 、♋ ♌ 下列程序的输出结果是♉♉♉♉♉。
♐◆⏹☎♓⏹♦ ♋ ♓⏹♦ ♌ ♓⏹♦ ♍✆♍ ♋✉♌ ❝❖☐♓♎ ❍♋♓⏹☎ ✆♓⏹♦ ♍♐◆⏹☎♍✆☐❒♓⏹♦♐☎❾♎⏹❾♍✆❝✌、 、 、 、无法确定 在 程序中,若对函数类型未加说明,则函数的隐含类型为♉♉✌♉♉♉。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
C语言程序设计期末练习题及答案(完美版)
C语言程序设计期末练习题及答案一、选择题:1、一个C程序的执行是从()A、本程序的main函数开始,到本程序文件的最后一个函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到main函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、以下程序的运行结果为()main(){ini a= IOO,x= 10,y=20,ok I=5,ok2=0;if(x<y)if(y!=10)if(!okl)a=l;elseif(ok2)a=10;a=-l;printf("%d\rT,a);)A、1 B、0 C. -1 D、值不确定3、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行c2='A' + '6'-'3';后,ascii码值为()无答案A、B B、66 C、不确定的值D、1144、已知inia=12,语句a+=a—=a*=a;执行后,a的值为()A、a= -100 a= -120 C、a=0 D、a=125、下面有关for循环的正确描述是()A、for循环只能用于循环次数己知的循环B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,且必须用花括号括起来6、以下程序段()x= -1;do{x=x*x;}while(!x);A、是死循环B、循环执行两次C、循环执行一次D、有语法错误6、若有说明:inta[3][4];则对a数组元素的正确引用是()A、al2]l4]B、al 1,3]C、a[l + lJlO]D、a(2)(l)7、判断字符串a和b是否相等,应当使用()A、if(a==b) B> if(a=b) C> if(strcpy(a,b) D、if(slrcmp(a,b)==l)8、若i为整型变最,则以下循环执行次数为Ofor(i=2;i==0; )printf(w%d,,,i-);A、无限次B、0次C、1次D、2次9、若用数组名作为函数调用的实参,传递给形参的是()A、数组第一个元素的值B、数组中全部元素的值C、数组元素的个数D、数组的首地址10、以下叙述中不正确的是()A、预处理命令行都必须以#号开始B、在程序中凡是以#号开始的语句行都是预处理命令行C、C程序在执行过程中对预处理命令行进行处理D、预处理命令不占用程序的执行时间11、以下程序的运行结果是()#dcfine MIN(x,y) (x)<(y)?(x): (y)main(){int i=10,j=15,k;k=IO*MIN(i,j);printf(M%d\n,,,k);)A、10 B、15 C、100 D、15012、以下有关宏替换的叙述不正确的是()A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符替换D、宏名必须用大写字母表示13、若有以下宏定义:#define N 2#define Y(n) ((N+l)*n)则执行语句z=2*(N+Y(5));后的结果是()A、语句有错误B、z=34 C> z=70 D、z无定值14、已有定义int k=2; int *pl, *p2;且pl、p2均已指向变量k,下面不能正确执行的赋值语句是()A、k=*pl+*p2 B、p2=k C> pl=p2 D、k=*pl * (*p2)15、若有以下定义,则对a数组元素的正确引用是()int a[5], *p=a;A、*&a[5]B、a+2C、*(p+5)D、*(a+2)17、若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方式是OA、(*p)max(a,b);*pmax(a,b)C、(*p)(a,b)D、*p(a,b)18、若有以下说明语句,则对pup中sex域的正确引用方式是()struct pupil{char name[20];int sex;(pup,*p;p=&pup;A、p.pup.sex B、p->pup.sex C、(*p).pup.sex D、(*p).sex19、语句int(*ptr)();的含义是()A、ptr是指向一维数组的指针变量B、pir是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向ini型数据的指针20、若有以下说明语句:struct student{int age;int num;}std, *p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是()A、std.age B、p->age C、(*p).ageD、*p.age二、写出下列程序的运行结果或指明其完成的功能1、写出下面程序的运行结果main(){int t=1605,h,m;h=(t/100)%12;if(h==0)h=12;printf(“%d:”,h);m=t%100;if(mvlO)printf("O”);printf(“%d”,m);if(t<1200||t==2400)printf(w AM M);else printf(w PM,9);)4:05PM2、写出下面程序的运行结果main(){int a,b,c;int s,w,t;s=w=t=0;a= -l;b=3;c=3;if(c>0) s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(w%d %d %d,,,s,w,t);}2003、写出下面程序的运行结果niain(){int ij,x=O;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2==0) continue;x++;)x++;}printf(u x= % d\n”,x);)x=84、写出下面程序的运行结果int a=5; int b=7; main(){int a=4,b=5,c;c=plus(a,b);printf(u A+B=5 % d\n,,,c);)plus(int x,int y){int z;z=x+y;return(z);)A+B=95、写出下面程序的运行结果main(){increment();incrementO;incrementO;)increment(){static int x=O;x+=l;printf("%d\n",x);}1236、指明下面程序完成的功能int fac(int n){static int f=l;f=f*n;rcturn(f);)niain(){intj;for(j=l;j<=5;j++)printf(w%d!=%d\n,,j,fac(j));)输出1〜5的阶乘7、写出下面程序的运行结果#include “stdio.h"main()(int a[10]={ 2,4,6,8,10,12,14,16,18,20 }, *p=a,i ;for(i=0;i<2;i++)(printf("%d ”/p++);printf(<4%d ”/++p);printf(w%d ”,(%)++);printf(w\n w);)}2667 10 10三、完善程序1、下面程序的功能是打卬100以内个位数为6且能被3整除的所有数。
C语言程序设计期末考试试卷一及答案
模拟试卷一(时间90分钟,满分100分)一、选择题(1~10、21—40每小题2分,11~20每小题1分,共70分)1.下列叙述中正确的是( )。
A.栈是“先进先出”的线性表B.队列是“先进先出”的线性表C.循环队列是非线性结构D.有序链表既可以采用顺序存储结构,也可以采用链式存储结构2.支持子程序调用的数据结构是( )。
A.栈B.树C.队列D.二叉树3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A. 10 B.8 C.6 D.44.下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译软件B.操作系统C.教务管理系统D.汇编程序6.下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为DebugD.软件测试应严格执行测试计划,排除测试的随意性7.耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度8.数据库应用系统中的核心问题是( )。
A.数据库设计B.数据库系统设计C.数据库维护 D.数据库管理员培动9.有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为( )。
A.选择B.投影C.插入D.连接10.将E-R图转换为关系模式时,实体和联系都可以表示为( )。
A.属性B.键C.关系D.域11.以下选项中合法的标识符是( )。
A.1-1 B.1~1 C._11 D.1--12.若函数中有定义语句:int k;,则( )。
A.系统将自动给k赋初值0B.这时k中值无定义C.系统将自动给k赋初值.1D.这时k中无任何值13.以下选项中,能用作数据常量的是( )。
C语言程序设计期末测试题及答案(5套)
大学题库C语言程序设计期末模拟测试题及答案 2010年11月目 录期末模拟考试题(一) (3)期末模拟测试题(一)参考答案 (10)期末模拟考试题(二) (11)期末模拟测试题(二)参考答案 (18)期末模拟考试题(三) (19)期末模拟测试题(三)参考答案 (26)期末模拟考试题(四) (27)期末模拟测试题(四)参考答案 (34)期末模拟考试题(五) (35)期末模拟测试题(五)参考答案 (49)期末模拟考试题(一)一.选择题:2’*25=50’1.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B2. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25 C)24 D)303. 若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A) 4 B)5 C)9 D)104. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A) *p B) a[10] C) *a D) a[p-a]5.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A)1 B)0 C)-1 D)26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a; B)(a=c)‖(b=c);C)(a=c)&&(b=c); d)a=c=b;7.以下程序的输出结果是A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x8;y=++i)printf("%d,%d ",x--,y);}8. 下面程序的输出是main(){ char *s="121";int k=0, a=0, b=0;do { k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);}A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=39.下面程序的输出是main(){ unsigned a=32768;printf("a=%d\n",a);}A)a=32768 B)a=32767 C)a=-32767 D)a=-110. 若有以下定义:float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x){ case1.0:printf("*\n"); { case1,2:printf("*\n");case2.0:printf("**\n"); case3:printf("**\n");} }C)switch (a+b) D)switch (a+b);{ case 1:printf("\n"); { case 1:printf(."*\n");case 1+2:printf("**\n"); case 2:printf("**\n");} } 11.以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A) 8 B)7 C)6 D)5# include# includefuch (char str [ ] ){ int num =0;while (*(str +num )!='\0') num ++;return(num );}main(){ char str [10],*p=str ;gets(p);printf("%d\n",func(p));}12.运行以下程序后,如果从键盘上输入china#,则输出结果为A) 2,0 B)5,0 C) 5,5 D)2,5# includemain( ){ int v1=0,v2=0;char ch ;while ((ch=getchar())!='#')switch (ch ){ case 'a':case 'h':default: v1++;case '0':v2++;}printf("%d,%d\n",v1,v2);13.以下程序运行后,输出结果是A) 49.5 B) 9.5 C)22.0 D)45.0# include# define PT 5.5# difine s(x) pt*x*xmain(){ int a=1,b=2;printf ("%4.lf/n",S(a+b));} 14.以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);} 15.以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1l ;fun (int p){ int d=5;d+=p++;printf("%d",d);}main(){ itn a=3;fun(a);d+=a++;printf("%d\n",d);} 16.下面程序的运行结果是:# include <stdio.h>main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A) x=4 B)x=8 C)x=6 D)x=1217.以下程序运行后,输出结果是A) 1 B) 7 C)9 D)11fut (int **s,int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11},*p;p=(int *)malloc(sizeof(int))lfut (&p,a);printf("%d\n",*p);}18.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)019.请读程序:# define LETTER 0main(){ char str[20]=”C Language”,c;int i;i=0;While((c=str[i])!=’\0’{ i++;# if LETTERif(c>=’a’&&c<=’z’)c=c-32;# elseif(c>=’A’&&c<=’Z’)c=c+32;# endifprintf(“%c”,c);}上面程序的运行结果是:A) C Language B) c languageC) C LANGUAGE D) c lANGUAGE20. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}21. 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }22. 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}23.若有以下说明和语句:struct student{ int age;int num;} std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A) std.age B) p->age C) (*p).age D) *p.age24.以下程序的输出结果是:struct stu{ int x;int *y;} *p;int dt[4]={ 10,20,30,40};struct stu a[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main(){ p=a;printf(“%d,”,++p->x);printf(“%d,”,(++p)->x);printf(“%d\n”,++(*p->y));}A) 10,20,20 B) 50,60,21 C)51,60,21 D) 60,70,31 25.设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是:A)00010100 B)00011011 C)00011100 D)00011000二.判断题:1’*10=10’1.C语言规定在一个源程序中,main函数的位置必须在系统调用的库函数的后面。
C语言程序设计期末考试卷及答案.doc
..C语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
1253《C语言程序设计》电大期末试题及其答案
《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。
A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。
9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。
A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。
C语言程序设计 期末综合练习题
C语言程序设计期末综合练习题C语言程序设计是计算机科学与技术专业中一门重要的课程,它具有广泛的应用领域和深远的影响。
本文将为大家介绍一系列C语言程序设计的期末综合练习题,帮助大家加深对C语言的理解和应用能力。
1. 编写一个程序,计算两个整数的和并输出结果。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个程序,求一个整数数组的最大值和最小值,并输出结果。
```c#include <stdio.h>int main() {int arr[] = {12, 34, 56, 78, 90};int length = sizeof(arr) / sizeof(arr[0]);int max = arr[0];int min = arr[0];for (int i = 1; i < length; i++) {if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}printf("最大值:%d\n", max);printf("最小值:%d\n", min);return 0;}```3. 编写一个程序,实现将字符串逆序输出。
```c#include <stdio.h>#include <string.h>int main() {char str[] = "Hello, World!";int length = strlen(str);for (int i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```4. 编写一个程序,判断一个整数是否为质数。
C语言程序设计练习一
《C语言程序设计》练习一一、单项选择题1.下面转义字符中,表示字符串结束的是()A.\ rB.\ nC.\ 0D.\ f2.在Turbo C2.0中,若定义unsigned int a;则变量a在内存中分配的字节数是()A.1个B.2个C.4个D.8个3.设有int x=2,y,z;执行z=y=x--;后,变量z的值是()A.0B.1C.2D.34.以十六进制形式输出整数的格式说明符是()A.%uB.%ldC.%xD.%o5.下面合法的if语句是()A.if(a=b) c++;B.if(a=<b) c++;C.ifi(a< >b) c++;D.if(a=>b) c++;6.结束while(表达式)循环的条件是()A.当表达式的值为0时B.当表达式的值不为0时C.当表达式的值为1时D.当表达式的值为非1时7.若有定义int a[3][5];则数组a在内存中占用的字节数是()A.8B.15C.16D.308.在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是()A.charB.floatC.longD.int9.若有说明:int *p,m=5,n;以下正确的程序段是()A.p=&n;B.p=&n;scanf(〃%d〃,n); scanf(〃%d〃,*p);C.scanf(〃%d〃,&n);D.p=&n;p=n; *p=m;10.变量的指针,其含义是指该变量的()A.值B.地址C.名D.一个标志116.结构体是C提供的一种专门处理彼此相互有联系,数据类型()A.不一致的多个数据的数据结构B.不一致的单个数据的数据结构C.一致的多个数据的数据结构D.一致的单个数据的数据结构11.下面列出的位运算符中,表示按位与操作的是()A.~B.&C.^D.|12.设有说明:int x=0x03,y=3;表达式x&~y的值是()A.0B.1C.2D.319.设有说明:int u=1,v=3,w=2;表达式(v>>1|u<<2)&w的值是()A.0B.1C.3D.513.设有说明:FILE *fp;char *filename=〃paper〃;对于fp=fopen(filename,〃rb+〃);语句,下面说法正确的是()A.打开名为filename的文件读写B.打开名为paper的文件读写C.打开名为filename的文件只读D.打开名为paper的文件只读14. 设有int a=3, b=-4, c=5;表达式(a<b)? a+b:(a-b,b+4,a-=b+4)的值是()A. –1B. 0C. 3D. 715. 若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是()(其中<CR>表示换行)int a, b;scanf(″a=%d b=%d″,&a, &b);A. 2<CR>B. a=2 b=3<CR>C. a=2, b=3<CR>D. 2,3<CR>3<CR>16. 下面程序段的输出结果是()main(){ int s, p;s=p=5;p=++s;p++; ++p;2}A. 5B. 6C. 7D. 8的是()17. 下列if语句中,有语法错误..A. if(x>y);B. if(x=y) x+y;C. if(x!=y) scanf(″%d″, &x) else scanf(″%d″,&y)D. if(x<y) {x++; y++;}18. 下面程序段执行后的输出结果是()int i=-1;if(i<=0) printf(″* * * * \n″);else printf(″%%%%\n″);A. ****B.%%%%C. %%%%cD. ****c19. 下面程序段的循环次数是()int k=2;while(k==0) printf(″%d″,k);k--; printf(″\n″);A. 0次B. 1次C. 2次D. 无限次20. 下面程序段的输出结果是()a=100;while(a>120);a=a+1;printf(″%d″,a);A. 100B. 101C. 120D. 12121. 下面程序执行后,i的值是()main( ){ int a [5]={1,2,3,4,5},i=23}A. 1B. 2C. 3D. 422. 下面程序的输出结果是()main( ){ int i, x[3][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<4;i+=2) printf(″%d″, x[i][1]);}A. 5 1B. 5 2C. 8 2D. 9 323. 在C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是()A. 由系统自动指定对应实参和形参是否共用存储单元B. 对应实参和形参各占一个独立的存储单元C. 对应实参和形参共用一个存储单元D. 可以由用户指定对应实参和形参是否共用存储单元24. 下面叙述中不.正确的是()A. 不同函数中可以使用相同名字的变量B. 形式参数是局部变量C. 在一个函数内部定义的变量只能在本函数范围内有效D. 在一个函数内部的复合语句中定义的变量在本函数范围内有效25. 设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是()A. a[1][2]B. a[1]C. *(p+1*10+2)D. *(a[1]+2)的是()26. 下面定义不正确...A. struct starB. struct star{ {int id int id;char *name; char *name;4} star1={1001, ″Moon″}; }; star1={1001, ″Moon″};C. structD. struct star{ {int id; int id;char *name; char *name;} star1={123, ″Sun″}; } star1;27. 下面各个位运算符的优先级从左到右依次升高的是()A. | ^ & >>B. ^ >> & ~C. << | ^ ~D. ~ | & >>28. 设有说明:int u=1, v=14;表达式u+v>>2的值是()A. 0B. 3C. 5D. 729. 如果将文件指针fp指向文件末尾,正确的语句是()A. feof(fp);B. rewind(fp);C. fseek(fp,0L,0);D. fseek(fp,0L,2);完成的功能是()30. 下面程序段中,不能..FILE *fp;char ch =′v′;fp=fopen(″boy″, ″rb+″);fputc(ch,fp);A. 建立文件指针fp与文件boy的联系B. 从boy文件中读取一个字符C. 向boy文件中写一个字符D. 打开名为boy的二进制文件31.设有int a =3, b=-4, c=0;表达式((a>b)?a:b)&&c<0的值是()A.-4B.0C.1D.332.若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是()(其中<CR>表示换行)int a, b;scanf(″a=%d, b=%d″,&a,&b);A.2<CR>B.a=2 b=3<CR>C.a=2, b=3<CR>D.2,3<CR>3<CR>533.下面程序段的输出结果是()main( ){ int s, p;s=p=5;p=--s;p++;++p;printf(″%d\n″,p);}A.5B.6C.7D.834.关于if语句下面叙述正确的是()A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句B.只有当if语句中表达式的值为假时,才执行if的内嵌语句C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句D.只要if语句中表达式的值非0时,就执行if的内嵌语句35.若执行下面程序时,从键盘输入数据3和4,则程序的输出结果是()main( ){ int a,b,s;scanf(″%d″, &a,&b);s=a;if(a<b) s=bs=s*s;printf(″%d″,s);}A.9B.12C.16D.2536.若int x=0; 则while(x==0); 的循环次数是()A.0B.1C.2D.无限次37.下面程序段的输出结果是()6for (i=1; i<3;i++){for (j=1;j<3;j++)printf(″%d ″, i+j);printf(″\n″);}A.2 3 3 4B.2 3 4C.2 3D.23 4 3 438.下面程序的输出结果是()mian ( ){ int a[5]={2,4,6,8,10},i;i=2;printf(″%d″,a[i++]);}A.2B.4C.6D.839.下面程序的输出结果是()main( ){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int i,j,k=0;for(i=0;i<3;i++)k=k+a[i][0];printf(″%d\n″,k);}A.27B.33C.39D.4540.以下正确的函数定义形式是()A. double fun(int x, int y)B. double fun(int x; int y)C. double fun(int x, int y);D. double fun(int x, y);的说法是()41.关于变量以下不正确...A.在不同函数中可以使用相同名字的变量B.形式参数是全局变量7C.在函数内定义的变量只在本函数范围内有效D.在函数内的复合语句中定义的变量是局部变量地址表达式的是()42.设有语句int a[4][10],*p=*a;则下列表达式中不是..A.&a[1][2]B.a[3]C.*(p+1*10+2)D.p+1*10+2的是()43.下面关于结构体类型变量定义不正确...A. struct scoreB. struct{ {int math; int math;int Chinese; int Chinese;}Li, Wang; }Li, Wang;C. struct scoreD. struct score{ {int math; int math;int Chinese; int Chinese;}; };Li, Wang;struct score Li, Wang;44.下面各个运算符的优先级从左到右依次降低的是()A.& >> | ^B.~ & >>|C.>> & ^ |D.~ >> & ^45.设有说明:int u=1, v=2;表达式:u+v<<2的值是()A.-1B.1C.9D.1246.下面程序段中,不.能完成的功能是()FILE *fp;char ch;fp=fopen(″file1″, ″rb+″);ch=fgetc(fp);A.建立文件指针fp与文件file1的联系B.从file1文件中读一个字符C.向file1文件中写一个字符D.打开名为file1的二进制文件的是()47.在格式:fread(stu,size,n,fp);中,下面说法不正确...89A.stu 是内存中存放数据的首地址B.n 表示读n 次C.size 是一个数据块的字节数D.fp 表示文件指针48.字符串常数“CHINA ”在内存中存储时占的字节数是( )A .5个B .6个C .7个D .8个49.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c<d?c:d 的值是( )A .1B .2C .3D .450.输出字符串的格式说明符是( )A .%cB .%sC .%uD .%g 51.设有说明int x=0,y=0;则执行if(x++)y=1+x;else y=2+x ;后,变量y 的值是( )A .0B .1C .2D .3 52.以下程序段所表示的数学函数关系是( )y=-1if(x!=0) if(x>0) y=1;else y=0;A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x yB .⎪⎩⎪⎨⎧>=-<=)0(0)0(1)0(1x x x yC .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x yD .⎪⎩⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y 53.执行下面程序段后,输出字符A 的个数是( )for(i=0;i<=5;i+=2)printf(″A ″);A.0个B.3个C.5个D.6个54.若有定义char a[ ]= ″computer″;则存储字符m的数组元素是()A.a[1] B.a[2] C.a[3] D.a[4]55.若有定义int a [4]={1,2,3,4};则a[a[3]-a[1]*a[1]]的值是()A.1 B.2 C.3 D.412.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()A.自动(auto)B.静态(static)C.外部(extern) D.寄存器(register)56.如果一个C程序仅由一个源文件组成,则在一个源文件中定义的全局变量的作用域为()A.源文件的全部范围B.本程序的全部范围C.本函数的全部范围D.从定义该变量的位置开始至本文件末尾指针数组定义的是()57.下列定义中,不是..A.int*p[5];B.float*q[4];C.int(*r)[6];D.char*w[7];58.若有语句int*point,a=4;和point=&a;下面代表地址的一组选项是()A.a,point,*&a B.&*a,&a,*pointC.*&point,*point,&a D.&a,&*point,point59.下列程序的运行结果是()#difine N 9fun (char s[ ]){char*p=s+4,*q=s;int i;for(i=0;i<4;i+ +,p+ +,q + +){s[i]=*p;s[i+4]=*q}10}main( ){char ss[N]= ″ABCDEFGH″;fun(ss)printf(″%s\n″,ss);}A.EFGHABCD B.EFGHEFGH C.ABCDEFGH D.ABCDABCD60.设有结构体的定义如下:()struct cjd {long bh;int*q;char xm[9];};则sizeof(struct cjd)的值是A.14 B.15 C.16 D.1761.设有说明:int x=0x15,y=0x0f;则x&y的结果是()A.0x5 B.0x15 C.0xf0 D.0xf562.如果在程序中要使用系统提供的函数strlen,则需要书写的编译预处理命令是()A.#include<stdio.h> B.#include<math.h>C.#incLude<string.h> D.#incLude<malloc.h>63.由FILE*fp;fp=fopen(″a:\\abc.txt″,″r+″);可以推知fopen 函数的原型是()A.char *fopen(char,char);B.FILE*fopen(char*,char*);C.int fopen (char*,char*); D.FILF fopen(char* ,char*);64.整数-2在机器内存中的表示是()A.1000000000000010 B.1111111111111110 C.11111111111111101 D.111111111111111165.下列运算符中优先级最低的是()11A.> B.! C.% D.= =66.设有int a=3,b=-4,c=5;表达式+ +a-c+b+ +的值是()A.-6 B.-5 C.-4 D.-367.以十进制无符号形式输出整数的格式说明符是()A.%u B.%x C.%o D.%d69.下列程序段的输出结果是()void main(void){iny y=1,x=5;if(x<0)y=-1;if(x>=0)y=0;printf("%d\n",y);}A.-1 B.0 C.1 D.569.执行如下程序段后,x的值是()int x=1,y=-1;if(y<0)x-=y;else x+=y;A.-1 B.0 C.1 D.270.执行while(表达式)循环的条件是()A.当表达式的值为0时B.仅当表达式的值为1时C.当表达式的值非0时D.当表达式的值不为1时71.下列程序段输出的结果是()for(i=1;i<3;i+ +)for(j=1;j<3;j+ +)12printf("%d",i+j);A.2 3 3 4 B.2 3 4C.2 3 D.23 4 3 472.若有定义int s[4]={1,2,3,4};则a[a[2]-3*a[0]+1]的值是()A.1 B.2 C.3 D.473.下列关于C语言程序说法正确的是()A.C语言程序总是从有定义的函数起顺序执行B.在C语言程序中,被调用函数必须在main函数中定义C.C语言程序中的main函数必须放在程序的开始部分D.C语言程序总是从main函数起开始执行74.若有int a[ ]={1,2,3,4,5,6,7,8,9,10},且0≤i<10,则对数组元素地址正确表示的是()A.&a+1 B.&a+ + C.&a D.&a[i]75.下列关于结构体类型定义正确的是()A.struct ABC B.struct ABC{ {int a int a;char b char b;char*p char * p;} }C.struct ABC D.struct ABC{ {int a; int a,char b; char b,char * p; char *p,13}; };76.下列位运算符中,表示按位异或操作的是()A.~ B.│C.^ D.&77.下列各个位运算符的优先级从左到右依次升高的是()A.>>│& ~B.│>> & ~C.│& >> ~D.~│& >> 78.设有说明:int u=1,v=3;则表达式u<<= v的值是()A.0 B.1C.3 D.879.如果文件存储的是数据在内存中存放的字节形式,则该文件是()A.ASCII文件B.文本文件C.二进制文件D.设备文件80.下列转义字符中,表示回车的是()A.\0 B.\n C.\r D.\f81.若定义double d;则d在内存中分配的字节数是()A.1个B.2个C.4个D.8个82.下列表达式中运算结果为3的表达式是()A.(-7)%4 B.7/4+2 C.7/4*4-4 D.8/3+8/3 83.设有int a=3,b=-4,c=5;表达式a++-c+b++的值是()A.-6 B.-5 C.-4 D.-384.在printf语句中,格式说明符u表示()A.以十进制带符号形式输出整数B.以十六进制带符号形式输出整数C.以十进制无符号形式输出整数D.以十六进制无符号形式输出整数1485.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是()if(a<b){if(c= =d)x=c;}elsex=d++A.4 B.5 C.6 D.786.关于switch中的表达式,正确的说法是()A.它必须是算术表达式B.它必须是关系表达式C.它必须是逻辑表达式D.它可以是任意类型的表达式87.对do语句while(表达式);结构的循环,下列说法正确的是()A.当表达式的值为非零时不执行循环体B.循环体至少被执行一次C.当表达式的值为零时循环体一次也不执行D.循环体仅被执行一次88.只能在循环语句中用于结束本轮循环的语句是()A.break; B.continue; C.goto D.if89.若有定义int a[3][5];则数组a在内存中分配的字节数是()A.8 B.15 C.24 D.3090.已知strl和str2是字符串数组,下列哪一个函数能正确的完成字符串的输入?()A.gets(strl) B.gets(strl,str2) C.getchar(strl) D.getchar(strl,str2) 91.下列关于函数的描述中正确的是()15A.C程序中有调用关系的所有模块必须放在同一个源文件中B.函数必须有返回值,否则不能使用函数C.C程序必须由一个或一个以上函数构成D.C函数既可以嵌套定义又可以嵌套调用92.设有下列程序,则()int d=10;main(){int a=3;printf(“%d,%d\n”,a,d);}A.a是全局变量,d是全局变量B.a是局部变量,d是全局变量C.a是全局变量,d是局部变量D.a是局部变量,d是局部变量93.若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是()A.p1=m; B.&p2=n; C.pl=&m;p2=p1; D.*p1=&m;94.下列为指针数组定义的是()A.float(*)[6]; B.float p[6]; C.float(*)(); D.float *p[6];95.设有说明:FILE*fp;对于fp=fopen(″c:\\abc.dat″,″rb″);语句,下列说法中不正确的是()A.fp将指向abc.dat文件B.以只读方式打开二进制文件C.打开文件的文件名是abc.datD.以读写方式打开ASCII码文件96.ASCII码文件的结束可以用符号常量EOF表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++语言程序设计课程期末综合练习一、单选题1. 由C++源程序文件编译而成的目标文件的缺省扩展名为(A. obj )。
2. 程序运行中需要从键盘上输入多于一个数据时,各数据之间需要使用( D. 空格或回车 )符号作为分隔符。
3. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( C. x的值)。
4. 任何for语句都能够被改写为( D. while )语句。
5. break语句叫做( A. 中断退出循环或开关)语句。
6. 在下面的一维数组定义中,( C. int a[]; )语句有语法错误。
7. 下面的( C. new )保留字不能作为函数的返回类型。
8. 下面的函数声明中,( B. void BC(int a, char b);)是“void BC(int a, int b);”的重载函数。
9. 当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( C. n-1 )。
10. 假定AB为一个类,则该类的拷贝构造函数的声明语句为( D. AB(AB&); )。
11. 下面的保留字( C. new )不能作为函数的返回类型。
12. C++源程序文件的默认扩展名为( A. cpp )。
13. 在下列的标识符常量的定义语句中,错误的定义语句是( C. const char ch; )。
14. for循环语句一定能够被改写为( D. while )语句。
15. 假定a为一个数组名,则下面的( B. *++a )表达式有语法错误。
16. 在下面的二维数组定义中,只有( D. int a[][5]={{1,2,3},{4,5}};)语句是正确的。
17. 下面( B. AA(int a=0, int b); )的函数声明格式不正确。
18. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态数组空间,则使用下面的( D. delete []p; )语句。
19. 假定要对结构类型AB定义加号运算符重载的普通函数,实现两个AB类型对象的加法,并返回相加结果,则该函数的声明语句为( A. AB operator +(AB& a, AB& b); )。
20. 当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含( D. fstream.h )头文件。
21. 枚举类型中的每个枚举常量的值都是一个( A. 整数)值。
22.设x和y均为bool量,则逻辑表达式x || y为假的条件是( C. x和y均为假)。
23. 声明或定义一个内联函数时,必须在函数开始使用保留字( D. inline )。
24. 在下面的函数声明中,存在着语法错误的是( D. BC(int x=6, int y) )。
25. 假定a为一个整型数组名,则元素a[4]与( C. *(a+4) )的表示等价。
26. 循环语句“for(int i=0; i<n; i++);”执行结束后得到的i的值为(A. n )。
27. 将两个字符串连接起来组成一个字符串时,选用( C. strcat() )函数。
28. C++编译预处理命令在程序中都是以( B. # )字符开头的。
29. 假定有结构定义为“struct BOOK{char title[40]; double price;};”,则该结构类型的长度为( D. 48 )个字节。
30. 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete []px;”语句时,自动调用该类析构函数的次数为( B. n )。
二、填空题1.C++语言中每条复合语句以左花括号开始,并以______ }(右花括号)________结束。
2.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为___1____。
3.十进制数25表示成符合C++语言规则的八进制数为____031____。
4. 表达式x=x+y表示成复合赋值表达式为_____ x+=y_____。
5.若x=5,则x>5的逻辑值为____假(false 或0)_____。
6.假定一个一维数组的定义为“char* a[8];”,则该数组占用___32_____个字节的存储空间。
7. 假定x=10,则表达式2+x++的值为____12 ____。
8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为____46____。
9. 假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为int *r=________new int[n]; _________。
10. 设px指向一个类的动态分配的对象,则执行“delete px;”语句时,将自动调用该类的______ 析构函数______。
11. 执行“cout<<”x1=”<<18*4;”语句后得到的输出结果为____ x1=72 ____。
12. 在c++语言中,用转义字符序列____ ’\n’____表示输出一个换行。
13.int类型的大小为____ 4 ____个字节。
14.假定y的值为5,则增量表达式++y的值为_____ 6_____。
15.假定a的值为25,则算术表达式a%3的值为____1____。
16. 结束所在循环类语句或switch语句执行的中断语句的保留字为_____break_____。
17.函数调用时,实参向形参的传送分为____引用____传送和值传送两种方式。
18. 假定a是一个一维数组,则a[i]的指针访问方式为____*(a+i)____。
19. 假定一个结构类型的定义为”struct C{double a[5]; int n;};”,则该类型的大小为___44_____个字节。
20. 若要在程序中进行_____文件______的输入输出操作,则必须在开始的#inlude 预处理命令中使用fstream.h 头文件。
21.十进制数30表示成符合C++语言规则的十六进制数为____ 0x1E (字母x 和E 大小写均可)____。
22.假定一个枚举类型的定义为“enum RB{ab,ac,ad,ae};”,则枚举常量ad 的值为____2____。
23. 假定y=8,则执行y++*4运算后,y 的值为___9_____。
24.算术表达式xyy x 2 +1对应的C++表达式为_________ (x+y)/(2*x*y)+1 ___________。
25. 关系表达式x<5的相反表达式为_____ x>=5 _______。
26. 假定整数变量x=48,则a/12的运算结果为___4_____。
27. 假定一个二维数组的定义语句为“int a[3][4];”,则该数组包含有____12____个整型元素。
28.函数被调用时,实参向形参的传送分为引用传送和___值_____传送两种方式。
29.假定一个结构类型的定义为”struct B{int a[5]; char* b;};”,则该类型的大小为___24_____字节。
30. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_____构造函数_______使其初始化。
三、写出下列每个程序运行后的输出结果1. #include<iostream.h>void main() {int n=4,y=1;while(n--) y*=3;cout<<"y="<<y<<endl;}输出结果:y=81void main() {int a[8]={2,8,10,5,12,7,9,20}; int c=0, i=0;while(i<8) {if(a[i]>10) c++;i++;}cout<<"c="<<c<<endl;}输出结果:c=23. #include<iomanip.h>void main() {int a[5]={3,6,9,12,8};for(int *p=a; p<a+5; p++)if(*p>8) cout<<*p<<' ';}输出结果:9 124. #include<iomanip.h>int LA(int a[], int n) {int s=0;for(int i=0;i<n;i++)s+=a[i];return s;}void main() {int a[5]={5,2,8,6,4};int b=LA(a,5);cout<<"b="<<b<<endl;}输出结果:b=25struct AB {char aa[15];int bb;};void main() {AB a[4]={{"Apple",25},{"Peach",40},{"Pear",36},{"Tomato",62}}; for(int i=0;i<4;i++)if(a[i].bb<40) cout<<a[i].aa<<' ';cout<<endl;}输出结果:Apple Pear6. #include<iostream.h>void main() {int s1=0;for(int i=1; i<=5; i++) s1+=2*i;cout<<”s1=”<<s1<<endl;}输出结果:s1=307. #include<iostream.h>void main() {int a[6]={6,9,12,18,15,20};int c=0;for(int i=0; i<6; i++)if(a[i]%2==1) c++;cout<<"c="<<c<<endl;}输出结果:c=28. #include<iostream.h>void main() {int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};int m=a[0][0];for(int i=0;i<3;i++)for(int j=0;j<4;j++)if(a[i][j]>m) m=a[i][j];cout<<m<<endl;}输出结果:20void main() {int a=10, b=15, c;c=a+b;{ int b=a+20;c+=a+b;}cout<<c<<endl;}输出结果:6510. #include<iostream.h>void main() {int a[8]={6,19,4,12,20,5,18,25}; int *p, s=0;for(p=a; p<a+8;p++)if(*p<10) s+=*p;cout<<s<<endl;}输出结果:1511. #include<iostream.h>void main() {int s=0;for(int i=1;i<=8;i+=2)s+=i*i;cout<<"s="<<s<<endl;}输出结果:s=8412. #include<iostream.h>void main() {int i=1,s=0;while(s<15) s+=i++;cout<<i<<','<<s<<endl;}输出结果:6,15void main() {int a[8]={36,25,48,14,55,20,47,82}; int c1=0, c2=0;for(int i=0; i<8; i++)if(a[i]<50) c1++; else c2++;cout<<c1<<' '<<c2<<endl;}输出结果:6 214. #include<iomanip.h>int LB(int *a, int n) {int p=1;for(int i=0;i<n;i++) {p*=*a; a++;}return p;}void main() {int a[5]={1,2,3,4,3};cout<<LB(a,5)<<endl;}输出结果:7215. #include<iostream.h>struct Worker {char name[15]; //姓名int age; //年龄float pay; //工资};void main() {Worker x={"wangfong",46,1640};Worker y, *p;y=x; p=&x;cout<<y.age+10<<' '<<p->pay*2<<endl; }输出结果:56 3280四、写出下列每个函数的功能1. int SA(int a, int b) {if(a>b) return 1;else if(a==b) return 0;else return -1;}函数功能:比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a<b 则返回-1。