首页 C语言程序设计试题 集

C语言程序设计试题 集

举报
开通vip

C语言程序设计试题 集一填空基础知识1.每个C程序都必须有且仅有一个________函数。2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。3.软件是程序,以及______、使用和维护所需要的所有文档。4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。6.C语言是由________组成的。7.C语言的函数可分为主函数main、标准库函数和_________。8.一个函...

C语言程序设计试题 集
一填空 基础知识 税务基础知识象棋入门,基础知识常见鼠类基础知识常用电子元器件基础知识电梯基础知识培训资料 1.每个C程序都必须有且仅有一个________函数。2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。3.软件是程序,以及______、使用和维护所需要的所有文档。4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。5.程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。6.C语言是由________组成的。7.C语言的函数可分为主函数main、标准库函数和_________。8.一个函数是由两部分组成的,即:________和函数体。9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。16.C语言程序中一条简单语句是以________字符作为结束符的。17.C语言是结构化、________的程序设计语言。18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。解答:1.main()2.编译3.开发4.指令序列5.高级语言6.函数7.自定义函数8.函数首部9.翻译10.应用软件11.二进制代码12.助记符13.#14.main函数15.声明部分16.;(或分号)17.模块化18.翻译19.执行速度20.PASCAL常量、变量和表达式1.以16位计算机为例,若定义longinta;则变量a占______个字节的内存空间。2.以16位计算机为例,若定义doublea;则变量a占______个字节的内存空间。3.以16位计算机为例,若定义longdouble;则变量a占______个字节的内存空间。4.在______位机,int型占4个字节。5.C语言的数据类型有:基本数据类型、构造数据类型、枚举类型、______、空类型。6.在C语言中,基本数据类型有:______。7.整型常量046转换为十进制数等于______。8.整型常量054转换为十进制数等于______。9.整型常量0x125转换为十进制数等于______。10.整型常量0x7C转换为十进制数等于______。11.整型常量39转换为八进制等于______。12.实数473.468写成 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 化指数形式,则应为______。13.实数0.0453写成规范化指数形式,则应为______。14.将0x123转换为二进制等于______。15.字符’A’表示成十六进制等于______。16.在C语言中,称代表常量的标识符为______。17.C语言中是用编译预处理命令______来定义符号常量18.在C语言中,以反斜杠符(\)开头,后跟字符的字符序列,称之为______,主要用来表示控制及不可见的字符或者一些图形符号19.语句printf("\106")执行的结果输出是______。20.语句printf(“b”)执行的结果输出是______。21.语句printf(“\\b”)执行的结果输出是______。22.语句printf("\102")执行的结果输出是______。23.若有charch1;ch1='a'+4;则语句printf("%c",x)的输出结果为______。24.字符串常量“Hello,everyone!”占据的内存空间为______个字节25.字符串常量“Hello,Bob!”占据的内存空间为______个字节26.十进制整型常量由0~9个数据组成,但不能以______开始,没有小数部分27.十六进制常量由0~9和______组成28.unsignedlong类型常量通常以______为后缀29.实型常量通常有小数形式和______两种表达方式30.C语言中是用编译预处理命令______来包含其他源文件31.为了表示字符串的结束,系统自动在字符串的最后加一个______,但不被输出32.C语言中,其值可被改变的量称为变量,它具有三个基本要素:变量名、______和变量值33.C语言规定,变量的标识符只能由字母、数字和下划线组成,且不能以______开头。34.在16位机中,sizeof(“hello\n”)等于______。35.在16位机中,printf(“\“hello\””)等于______。36.字符变量在内存中占用______个字节的存储空间。37.若有定义intx=27,y=6;则表达式x/y的值为______。38.若有定义intx=47,y=8;则表达式x%y的值为______。39.若有定义charch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch1=%c,ch2=%c",ch1,ch2);则输出为______。40.若有定义charch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch2=%c,ch3=%c",ch2,ch3);则输出为______。41.若有定义inti=5,j,k;执行j=i--;k=--i;printf("i=%d,j=%d\n",i,j);则输出为______。42.表达式(int)(13.7+25.6)/4%5的值是______。43.表达式3.6-5/2+1.2+5%3的值是______。44.表达式54%10/2+4.0*(8/5)的值是______。45.若定义intx;doubleb=5.45;执行x=b后,则x的值为______。46.若定义inty;charc='A';执行y=c后,则y的值为______。47.若定义inta=8;floatb=2.5;则a/(int)(b)的值为______。48.若a=5,则执行a*=7-3语句后,a的值是______。49.若inta=1,b=0,c=4,d=2;则表达式(a>ba:b)&&(c-d)的值为______。50.已知a=0,表达式a=1?b=1:b=0;执行后,b的值是______。51.若定义intm=7,n=12;则表达式n%=m-m%5的值是______。52.若定义inta=8;floatb=4.5;执行a*=a/=a-b后,a的值为______。53.inta=2;!a++的值为______。54.inta=0;!++a的值为______。55.inta=7;floatb=4.5;则printf(“%d”,a*=a/=a-b)的值为______。56.intk=7;floata=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值为______。57.#defineMM(a,b)(a-b)a:binta=2,b=6;printf(“%d\n”,MM(a,b))的值为______。58.在32位机中,inta=4,b=7;printf(“%0x”,a-b)的值为:______。59.intx,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值为:______。60.inti=2,j;printf(“%d”,j=i<1)的值为:______解答:1.42.43.104.325.指针类型6.int、float、double、char7.388.449.29310.12411.04712.4.734680e+00213.4.530000e-00214.10010001115.\x41/41H16.符号常量17.#define18.转义字符常量19.F20.b21.\b22.B23.e24.1625.1126.027.A~F28.U29.指数形式30.#include31.“\0”32.变量类型33.数字34.735.“hello”36.137.438.739.ch1=C,ch2=A40.ch2=A,ch3=C41.i=3,j=542.443.4.80000044.6.00000045.546.6547.448.2049.150.151.252.453.054.055.456.2.50000057.258.fffffffd59.3,160.0顺序结构1.C语言的语句可分为5类,它们是:控制语句、____________、函数语句、符合语句和空语句。2.常用于字符输入的函数为:________________。3.常用于字符输出的函数为:________________。4.常用于字符串输入的函数为:________________。5.常用于字符串输出的函数为:________________。6. 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 输入函数的一般形式为:________________。7.格式输出函数的一般形式为:________________。8.printf和scanf是标准的库函数,它们的函数原型在头文件________________中。9.有charch,则从键盘给ch赋值的格式输入语句为:________________。10.如果要输出字符串常量“HelloWord!”,则格式输出语句为:________________。11.设有定义:longx=-123456L;,请写出能够正确输出变量x值的语句________________。12.若有inta,b;,想通过scanf("%d%d",&a,&b);输入语句给a赋于1,给b赋于2,则从键盘输入数据的形式是________________。13.若有inti,j;scanf("i=%d,j=%d";&i,&j);,要求给i赋10,给j赋20,则应该从键盘输入_______。14.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,请写出正确的输入语句________________。15.有intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是________________。16.有inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);,若运行时从键盘上输入9876543210<回车>,则程序的输出结果是_____________________。17.有intm=0256,n=256;则printf("%o%o\n",m,n);的输出结果是_____________________。18.有intx=102,y=012;,则printf(“%2d,%2d\n”,x,y);的输出结果是_____________________。19.有定义和语句:inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);,则printf("%d%d%3.1f%3.1f\n",a,c,f,x);的输出结果是_____________________。20.若有定义和语句:intm=0xabc,n=0xabc;m-=n;则printf("%o\n",m);的输出结果是_____________。21.若有intm=32,n=032;,则printf("%d,%x\n",m,n);执行后输出结果是___________________。22.若有inta=1234;,则printf("%2d\n",a);的输出结果是_____________________。23.若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是_____________________。A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.033.0<回车>D)1022<回车>33<回车>24.若有intx=3,y=1;则printf("%d%d\n",x++,y+2);的输出结果是_____________________。25.若有定义和语句:doubled;floatf;longl;inti;i=f=l=d=20/3;则printf("%d%ld%f%f\n",i,l,f,d);的输出结果是(小数点后只写一位)_____________________。26.以下说法中正确的是_____________________。A)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句27.若有intk=17;,则printf("%d,%o,%x\n",k,k,k);的输出结果是_____________________。28.以下叙述中正确的是_____________________。A)输入项可以是一个实型常量,如:scanf("%f",3.5);B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scakf("a=%d,b=%d");C)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);29.若有定义和语句:intu=010,v=0x10,w=10;则printf("%d,%d,%d\n",u,v,w);输出结果是_____________________。30.若有inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;,则printf("%f\n",z);的输出结果是_____________________。31.若有inta=2,c=5;,则printf("a=%%d,b=%%d\n",a,c);的输出结果是_____________________。32.有charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);则printf("%d%f\n",n,x);的输出结果是_____________________。33.有inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);若从键盘输入:102030<回车>。输出结果是_____________________。34.若有inta,b,c;a=25;b=025;c=0x25;,则printf("%d%d%d\n",a,b,c);的输出结果是___________。35.有以下语句段intn1=10,n2=20;printf(“________________”,n1,n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=2036.若有语句inti=-19,j=i%4;则printf("%d\n",j);的输出结果是_____________________。37.有inta=0;a+=(a=8);则printf("%d\n",a);的输出结果是_____________________。38.有inta=1,b=2;a=a+b;b=a-b;a=a-b;则printf(“%d,%d\n”,a,b);的输出结果是______________。39.有unsignedshorta=65536;intb;,则printf(“%d\n”,b=a);的输出结果是______________。40.语句printf("\10289\n");的数据结果为:__________________。解答:1.表达式语句2.getchar()3.putchar()4.gets()5.puts()6.scanf(“格式控制字符串”,地址表列);7.printf(“格式控制字符串”,输出表列);8.stdio.h9.scanf(“%c”,&ch);10.printf(“%s”,HelloWord!);或者:printf(“HelloWord!”);11.printf(“x=%1d\n”,x);12.12或者1213.i=10,j=2014.scanf(“%d,%d,%d”,&i,&j,&k);15.m=123n=456p=78916.a=98,b=765.000000,c=4321.00000017.25640018.102,1019.1651.56.520.021.32,1a22.123423.B24.3325.666.06.026.D27.17,21,1128.C29.8,16,1030.13.70000031.a=%d,b=%d32.220.00000033.1030034.25213735.n1=%d\nn2=%d36.-337.1638.2,139.040.B89选择结构一.填空1.在if,while,case,do,else等关键字中,用于选择结构的有().2.已知a=1;那么if(a=2)printf("%d",2);elseprintf("%d",1);的输出结果是().3.已知chara='A';那么if(a>65)printf("%s","bigger");elseprintf("%s","smaller");的输出结果是().4.表示“x≥y≥z”的C语言表达式是()。5.在C语言中,用于实现选择结构的语句有()语句和()语句。6.判断两个浮点型变量x和y是否相等一般用:if(<1e-6)…。7.设有程序段:t=6;a=7;b=8;if(a=b)t=a;,这段程序执行后,t的结果是()。8.设a=1,b=2,c=3,d=4,则表达式:a>ba:c>da:d的结果为()。9.表达式98&&8&&31&&(98-'a')的值为()。10.若inta=3;则表达式(a>2)&&!('D'>69)的值为()。解答:1.2.3.4.5.6.7.8.9.10.循环结构1.C语言中提供了三种循环控制语句,它们是:()、do-while语句、()。2.break语句在C程序中只能出现在两种场合:一是用于()语句中,二是用于()语句中。3.以下程序段中的语句printf(“***”)要执行5次,请在空白处填入合适的数。for(i=1;i<=();i=i+2)printf(“***”);4.定义intk=10;执行语句while(k<20)k+=1;后,k的值为()。5.在循环控制结构中break语句的作用是()。6.在循环控制结构中continue语句的作用是:()。7.若已知inta[5][5];并在运行过程中a数组已经赋值;要打印次对角线元素,在空白处填入合适的值/表达式;for(i=0;i<5;i++)for(j=();j>=0;j--)printf("%5d",a[i][j]);8.执行完语句sum=0;for(i=0;i<10;i++){if(i%5==0)sum+=i;sum=()。9.在使用while语句中需要注意,为了防止“死循环”的发生,在循环体中一定要有()语句。10.do-while语句中,判断循环条件在(),执行循环体在()。(填“先”“后”)解答:1.2.3.4.5.6.7.8.9.10.函数1.函数中的形参和调用时的实参都是数组名时,传递方式为();形参实参都是变量时,传递方式为()。2.一个函数在它的函数体内调用它自身称为()调用。3.函数体包括函数的说明部分和()。4.定义在一个程序块(函数)中的变量,称为()变量,它的作用范围只是定义它的程序块。5.在函数原型声明中,必须声明函数参数的类型,但可以省略()。6.C语言源程序中主函数名由系统规定为(),程序员是不能改变的。7.已知函数首部定义为:intstat(inta,float*p)则此函数的两个参数类型分别是()、()。8.在c语言中,进行函数调用是,实参和实参之间有严格的规定,主要有三种要求分别是:()相等,()一致,并()对应。9.若自定义的函数要求返回一个值,则应在该函数中有一条()语句。10.若函数头部定义为intfoo(),则该函数中return语句返回的数据类型是()。11.若函数头部定义为structstu*foo(),则该函数中return语句返回的数据类型是()。12.若函数头部定义为int*foo(),则该函数中return语句返回的数据类型是()。13.若函数头部定义为floatfoo(),则该函数中return语句返回的数据类型是()。14.若函数头部定义为charfoo(),则该函数中return语句返回的数据类型是()。15.若函数头部定义为char*foo(),则该函数中return语句返回的数据类型是()。16.若函数头部定义为voidfoo(inta[]),在主程序中有如下语句:inta[5]={1};…foo(a[5]);这句函数调用的语句是()。(填“正确”“错误”)17.若函数头部定义为voidfoo(int*a),在主程序中有如下语句:intarray[5]={1};…foo(array);这样的语句是()。(填“正确”“错误”)18.若函数头部定位为voidfoo(char*str),在主程序中有如下语句:chararray[5]="good";…foo(array);这样的语句是()。(填“正确”“错误”)19.若一个函数中的主要语句是这样的,inta=3;if(a>3)return-1;return0;那么这个函数的返回值是()。20.若函数头部定义为voidfoo(int*a),主程序中定义intarray[10],现在要将array数据传进数组进行处理,正确函数调用语句是()。解答:1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.数组一.填空1.数组是由固定数目的()的变量按一定顺序排列而构成的。2.设有数组定义:chararray[]=“China”;则数组所占的存储空间为()个字节。3.一个二维字符数组a[10][20]能够存储()个字符串。4.假定在一维数组b[10]中,元素b[5]的指针为p,则p+4所指向的元素为()。5.一维数组的下标从()开始。6.设有数组a[10];则首地址可以写成()。7.设有数组inta[10],数组元素a[5]用指针表示的形式是()。8.设有数组inta[10][15],数组元素a[5][3]用指针表示的形式是()。9.定义3行4列的整型二维数组a的语句是()。10.定义intb[]={5,6,7,8},y,*p=b;执行y=*p++以后,y的值为()。11.按下面的语句定义数组a后,a[2][0]的值为()。inta[3][2]={2,4,6,8,10};12.假设要把“student!”存入一个字符数组,则该数组长度应该至少为()。13.在C语言中,如果采用语句inta[2][3]={1,2,3,4,5}完成一个二维数组的定义和初始化,那么a[0][1]的值为()。14.在C语言中,如果采用语句inta[2][3]={1,2,3,4,5}完成一个二维数组的定义和初始化,再定义int*b=a[0],那么*(b+2)的值为().15.若inta[][3]={1,2,3,4,5,6,7,8,9};则*(*a+1)的值是()。16.按下面的语句定义数组b后,b[2][1]的值为()。intb[][2]={2,1,4,3,5,6}。17.设inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,则*p+4=()。18.定义2行3列5层的整型三维维数组a的语句是()。19.若有inta[3]={10,12,30};则*(a+2)+3=()。20.若有inta[3]={10,12,30};则a+1是()的地址。21.假设int型变量占两个字节的存储单元,若有定义:intx[10]={0,2,4};则数组x在内存中所占字节数为()。22.若有定义inta[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是()。23.数组inta[3][3];共定义了()个数组元素。24.C语言中,二维数组的存放方式为按()存放。(填“行”或“列”)25.定义inta[10]={11,12,13,14,15},*p=&a[5];假设&a[0]和&a[1]的值分别是0x2000和0x2004,则p的值是()。26.定义inta[10]={11,12,13,14,15},*p=&a[3];假设&a[0]和&a[1]的值分别是0x2000和0x2004,则表达式a[0]+*p的值是()。27.对一维数组初始化时,若有inta[10]={0,1,2,3,4},则a[5]的值是()。28.已知:inta[][3]={1,3,5,7,9,11};此时数组元素a[1][2]的值为()。29.定义chara[7]="abcdef";charb[4]="ABC",执行语句strcpy(a,b);printf("%s",a),输出结果是()。30.定义inta[10]={1,3,5,7,9,11,13,15,17,19},*p=a;执行语句printf("%d",*p+7);输出结果是()。31.已知inta[5]={2,3,4,5,6};int*p=a+2;则表达式*p*a[3]的值是()。32.定义chara[7]="123456";charb[4]="ABC",执行语句strcpy(a,b);printf("%c",a[6]),输出结果是()。33.对整形数组inta[5]={1,2,3};则执行语句a[2]=a[2]+a[1]*(*(a+3));a[2]的值为()34.定义chara[5]={65,66,67},*p=a;则执行语句printf("%s",p+1);输出结果为()。35.对于定义structTData{inta[2];charc;};structTDataslist[3]={{{1,2},’A’},{{3,4},’B’}}};slist[1].a[0]的值为()。36.已知:inta[][3]={1,3,5,7,9,11};则*(a[1]+1)的值为()。37.已知:inta[2][3]={1,3,5,7,9,11,13},*p;p=&a[1];p=p+2;则*p的值为()。38.定义chara[7]="123";charb[4]="ABC",执行语句strcat(a,b);printf("%s",a),输出结果是()。39.对整形数组inta[5]={3,3,3};则执行语句a[2]=a[1]>0(a[4]+1):(a[2]+2);a[2]的值为();40.定义inta[]={5,6,7,8},*p=a;执行*(p++);以后,a[0]的值为()。解答:1.同类型2.63.104.b[9]5.06.a7.*(a+5)8.*(*(a+5)+3)9.inta[3][4]10.511.1012.913.214.315.216.617.418.inta[2][3][5]19.3320.a[1]21.2022.323.924.行25.0x201426.2527.028.1129.ABC30.831.2032.633.334.BC35.436.537.1338.123ABC39.140.5结构体1.引用结构体变量成员的一般形式是:结构体变量名__________。2.定义枚举类型的关键字是__________。3.设char、int、float分别占1、2、4个字节,假设有如下定义:structstudent{charname[10];intnl;floatave;}qq;则变量qq在内存中所占的字节数是__________。4.设char、int、float分别占1、2、4个字节,假设有如下定义:unionstudent{charname[10];intnl;floatave;}qq;则变量qq在内存中所占的字节数是__________。5.设char、int、float分别占1、2、4个字节,假设有如下定义:unionstu{chara;intb;floatc;};struct{floatc;unionstux;}y;那么变量y占用的存储空间分别为__________个字节。6.设有定义structdate{intday;charmonth;intyear;}dd,*pd=ⅆ请写出:使用指针变量pd引用结构体成员dd.day的另一种描述形式__________。7.结构体变量各成员占用的内存单元起始地址__________。(填“相同”或“不同”)8.共用体变量各成员占用的内存单元起始地址__________。(填“相同”或“不同”)9.设char、int、float分别占1、2、4个字节,假设有如下定义:unionstud_type{charname[5];intnum;floatscore;}];unionstud_typestu[10]];则程序运行时,系统将为stu分配__________个字节的内存空间。10.设char、int、float分别占1、2、4个字节,假设有如下定义:structstud_type{charname[5];intnum;floatscore;};structstud_typestu[10];则程序运行时,系统将为stu分配__________个字节的内存空间。11.设char、float和double型数据占用的内存空间字节数分别是1、4和8,则变量stu1在内存中占用的字节数是__________。structstud_type{charname[10];floatscore[5];doubleaverage;}stu1;12.写出一个单链表结点的结构体类型定义:结点名为worker,分量num为整型,分量next为指向下一结点的指针________________________________________。13.写出一个货品信息的结构体类型定义:结点名为goods_type,第一个分量货品号num为整型,第二个分量货品名name为长度为20的字符型数组,第三个货品库存量amount为整型。________________________________________。14.在C语言中,可以给某个已有的数据类型重新命名。将int型重新命名为INTEGER,应该表示为______________________________。15.在C语言中,给某个已有的数据类型重新命名的形式为:__________类型名新名称。16.结构体变量成员的引用方式是使用__________运算符。17.结构体指针变量成员的引用方式是使用__________运算符。18.设structstudent{intno;charname[12];floatscore[3];}sl,*p=&sl;用指针法给sl的成员no赋值1234的语句是____________________。19.typedef的功能是____________________。20.设char、int分别占1、2个字节,假设有如下定义:unionstudent{intn;chara[100];}b;则sizeof(b)的值是__________。解答:1.•成员名2.enum3.164.105.86.pd->day或(*pd).day7.不同8.相同9.5010.11011.3812.structworker{intnum;structworker*next;};13.structgoods_type{intnum;charname[20];intamount;};14.typedefintINTEGER;15.typedef16.•17.->18.p->no=1234或(*p).no=123419.给某个已有的数据类型重新命名20.100指针1.假定在一维数组b[10]中,元素b[5]的指针为p,则p+4所指向的元素为__________。2.指针变量是一种专门存放__________的变量。3.函数中的形参和调用时的实参都是变量时,传递方式为值传递;形参和实参都是数组名时,传递方式为__________。4.设有数组a[10];则数组元素a[3]的地址可以写成__________。5.定义intb[10];若元素b[5]的指针为p1,元素b[9]的指针为p2,则p2-p1的值为__________。6.int*p,a;则语句p=&a;中的运算符&是__________符号。7.设inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,则*p+4=__________。8.定义inta[10]={11,12,13,14,15},*p=&a[5];假设&a[0]和&a[1]的值分别是2000和2002,则p的值是__________。9.对变量的访问方式有直接访问和间接访问两种。其中,将变量a的地址存放在另外一个变量p中,访问时先从p中取出变量a的地址,再按照a的地址访问a的值,该方式称为__________访问。10.int*p的含义是____________________。11.定义inta[10]={11,12,13,14,15},*p=&a[5];则表达式a[0]+*p的值是__________。12.定义inta[10]={1,3,5,7,9,11,13,15,17,19},*p=a;执行语句printf("%d",*p+7);输出结果是__________。13.定义intm=5,n=9,t,*p=&m,*q=&n;顺序执行语句t=*p;*p=*q;*q=t;此时m的值是__________。14.已知inta[5]={2,3,4,5,6};int*p=a+2;则表达式*p*a[3]的值是__________。15.假定在一维数组array[10]中,元素array[5]的指针为p,则p-4所指向的元素为__________。16.数组名代表的是____________________。17.若inta[3][3]={1,2,3,4,5,6,7,8,9};则*(*(a+2)+1)的值是__________。18.若inta[][3]={1,2,3,4,5,6,7,8,9};则*(*a+1)的值是__________。19.若有inta[3]={10,12,30};则a+1是数组元素__________的地址。20.函数调用时参数有值传递和__________传递两种参数传递方式。解答:1.b[9]2.地址3.地址传递4.&a[3]或a+35.46.取地址7.48.20109.间接10.定义指针变量p,p指向整型变量。11.1112.813.914.2015.array[1]16.数组元素的首地址17.818.219.a[1]20.地址二.阅读程序写结果选择结构1.#includevoidmain(){intx,y,t;x=7;y=9;if(xvoidmain(){intx=1,a=2,b=3;switch(x){case1:a--;break;case2:b++;break;case3:a++;b++;}printf("\na=%d,b=%d\n",a,b);}3.#includevoidmain(){charch1='E';if(ch1>='A')ch1++;elsech1+=32;printf("ch1=%c\n",ch1);}4.#includevoidmain(){intx,y,t;x=5;y=3;if(x>y){t=x;x=y;y=t;}printf("%d,%d\n",x,y);}5.#includeintmain(){inta,b,c,m;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);if(a<=b)m=a;elsem=b;if(c6.#includeintmain(){charch1='a',ch2='B',ch3='E';if(ch1>ch2)if(ch2>ch3)ch3++;else--ch3;printf("ch3=%c\n",ch3);return0;}7.#includeintmain(){floatx,y;scanf("%f",&x);switch((int)x/10){case0:y=1.0;printf("y=%f\n",y);break;case1:y=2*x+1;printf("y=%f\n",y);break;case2:y=3*x*x+2;printf("y=%f\n",y);break;default:printf("Nodefinition.\n");}return0;}输入:15.3<回车>8.#includeintmain(){charch1='A',ch2='B';switch(ch1){case'A':switch(ch2){case'B':printf("Good!\n");break;case'A':printf("Better!\n");break;}case'B':printf("Best!\n");break;}return0;}9.#includevoidmain(){floatscore;score=100;if(score<60)printf("E\n");elseswitch((int)score/10){case10:case9:printf("A\n");case8:printf("B\n");case7:printf("C\n");break;case6:printf("D\n");break;default:printf("Error\n");}}10.#includevoidmain(){inti=0,a=2;if(i==0)printf(“**”);elseprintf(“$$”);printf(“*”);}11.#includevoidmain(){intm=10,n=0,p=4,q=20;if(m)if(n)q=15-m;elseq=25+m;elseif(p)q=q+p;printf(“q=%d\n”,q);}12.#includevoidmain(){inta=1,b=0;switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}}13.#includeintmain(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<0){case1:printf("@");break;case2:printf("!");break;}case0:switch(c==5){case1:printf("*");break;default:printf("#");break;}default:printf("&");}printf("\n");return0;}14.#includeintmain(){inta=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15;elsed=25;printf("d=%d\n",d);return0;}15.#includeintmain(){inta=1;switch(a){case0:printf("**0**");break;case1:printf("**1**");break;case2:printf("**2**");break;}return0;}16.#includeintmain(){intx,y;scanf("%d",&x);y=x>12x+10:x-12;printf("%d\n",y);return0;}输入:12<回车>17.#includeintmain(){floatx,y;charop;doubler;scanf("%c%f%f",&op,&x,&y);switch(op){case'+':r=x+y;break;case'-':r=x-y;break;case'*':r=x*y;break;case'/':r=x/y;break;}printf("%.1f",r);return0;}输入:3.5<回车>18.#include"stdio.h"voidmain(){inta=7;if(a>9||a<10)a=a/3;elsea=a%3;printf("a=%d",a);}19.#includevoidmain(){inta=20;switch(a%3){case0:printf("0");case1:printf("1");case2:printf("2");default:printf("3");}printf("4");}20.#includevoidmain(){inta=2,b=5,c=8,t;if(avoidmain(){intnumber,digit;number=1234;while(number!=0){digit=number%10;printf("%d",digit);number=number/10;}}2.#include#defineN5voidmain(){inti;for(i=1;ivoidmain(){inti,s,x;s=0;x=15;for(i=1;i<=5;i++)if(x%i==0)s=s+i;printf("i=%d,s=%d\n",i,s);}4.#includevoidmain(){intcounter=1;while(counter<=5){printf("%d\n",counter);counter++;}}5.#includeintmain(){inti,sum,m,a;sum=0;m=5;for(i=0;i<=3;i++){scanf("%d",&a);if(a>m)sum+=a;}printf("sum=%d\n",sum);return0;}输入:21083<回车>6.#includeintmain(){inti,j,k;for(i=1;i<=4;i++){for(j=1;j<5-i;j++)printf("");for(k=1;k<=i;k++)printf("*");printf("\n");}return0;}7.#includeintmain(){inti,j;i=1;while(i<5){for(j=1;j<2*i+1;j++)printf("%c",'#');printf("\n");i++;}return0;}8.#includeintmain(){inti=10,m=0,n=0;do{if(i%2!=0)m=m+i;elsen=n+i;i--;}while(i>=0);printf("m=%d,n=%d\n",m,n);return0;}9.#includevoidmain(){intsum=0,n;scanf("%d",&n);while(n<=5){sum+=n;n++;}printf("sum=%d",sum);}输入:1<回车>10.#includevoidmain(){inti,j;for(i=2;i>=0;i--){for(j=1;j<=i;j++)printf("*");for(j=0;j<=2-i;j++)printf("!");printf("\n");}}11.#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>20)break;if(b%4==1){b=b+4;continue;}b=b-5;}printf("a=%d\n",a);}12.#includevoidmain(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}}}输入:01<回车>13.#includeintmain(){inti,s=0;for(i=1;i<10;i++){s+=i*i;if(s>10)break;}printf("i=%d,s=%d\n",i,s);return0;}14.#includevoidmain(){charch;while((ch=getchar())!='\n'){if(ch>='A'&&ch<='Z')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}}输入:ABCdef<回车>15.#includeintmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d,%d\n",a,b);retu
本文档为【C语言程序设计试题 集】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
峰海资料库
希望这份文档帮到您
格式:doc
大小:454KB
软件:Word
页数:0
分类:
上传时间:2021-01-06
浏览量:2