开放大学《C语言程序设计》考试题库|简单考级网

需要积分:500
更新日期:2026-07-03 01:25:00

汇集03595《C语言程序设计》全部客观题与填空题,涵盖数据类型、流程控制、数组、指针、结构体、文件操作等核心考点,适合自测与考前强化。

详细介绍

答案需要登录后下载附件查看

 

3h1r类型的长度为  

3语言程序中的基本功能模块为  

3语言源程序文件的扩展名为  

3语言中的空白符是一些字符的统称,这些字符是  

3语言中的跳转类语句有四条,它们是goto,return和  

3语言中的选择类语句有两条,它们是  

3语言中的循环类语句有三条,它们是( )  

3语言中使用的字符常量,其起止标记符是  

3语言中使用的字符串常量,其起止标记符是  

break语句带有语句体。  

break语句可以使用在switch语句中。  

break语句只能使用在循环语句中。  

break语句只有保留字,没有语句体。  

continue语句只有保留字,没有语句体。  

continue只能使用在任一种循环语句的循环体中。  

C语言系统中提供一个用来描述文件属性的类型标识符为FILE,它与系统头文件stdio.h无关。  

C语言系统中提供一个用来描述文件属性的类型标识符为FILE。  

C语言中的标准输入和输出设备文件都属于字符文件。  

C语言中的数据文件包括字符文件和字节文件这两种不同的存储类型。  

C语言中的运算符有单目、双目和3目之分。  

C语言中的运算符只有单目和双目两种,没有3目运算符。  

do-while循环是先判断循环条件,当条件为真时执行循环体。  

do-while循环是先执行循环体,然后进行循环条件判断。  

do-while循环语句的循环体,只能是复合语句,不能是简单语句。  

do-while循环语句是以分号结束的语句。  

do-while循环语句是以循环体结尾的。  

do-while循环语句中的循环体至少被执行一次。  

for循环是先判断循环条件,当条件为真时执行循环体。  

for循环语句的循环体,可以是简单语句,也可以是复合语句。  

for循环语句能够被改写为  

for循环语句能够被转换为while循环语句。  

for循环语句中的循环体可能不会被执行。  

for循环语句中的循环体至少被执行一次。  

int类型的长度为  

NULL是一个符号常量,通常作为空指针值,它的取值为  

return语句只有保留字,没有其他成分。  

return语句中可以带有返回表达式。  

while循环是先执行循环体,然后进行循环条件判断。  

while循环语句的循环体,只能是复合语句,不能是简单语句。  

while循环语句中的循环体至少被执行一次。  

x<=10的相反表达式为  

x>0 && y<=5的相反表达式为  

x>5的相反表达式为  

保留字31se和4ef1ult所使用的语句是  

标准输出设备显示器的文件流标识符是  

标准输入设备键盘的文件流标识符是  

表达式(float)25/4的值为6.25。  

表达式(int)14.6%5的值为0。  

表达式floor(2.3457*100)/100的值为  

表达式floor(2.3457*100+0.5)/100的值为  

表达式x=x+1表示成增量表达式为++x。  

表达式x=x+y表示成复合赋值表达式为x+=y。  

表达式x=x-1表示成减量表达式为x--。  

表示文件结束符的符号常量的值为  

表示文件结束符的符号常量为  

补充完整下面xxk2函数定义,假定函数参数表中a的值小于等于b,函数功能是求出并返回a到b之间(包含a和b值在内)所有偶数之和。 int xxk2(int a, int b) { int i, sum=0; //向下补充内容,用一个for循环实现 return sum; }  

补充完整下面xxk2函数定义,假定函数参数表中a的值小于等于b,函数功能是求出并返回a到b之间(包含a和b值在内)所有奇数之和。 int xxk2(int a, int b) { int i, sum=0; //向下补充内容,用一个for循环实现 return sum; }  

补充完整下面函数定义中while循环的循环体,该函数的功能是求出并返回由字符指针ptr所指向的字符串中包含的十进制数字字符的个数。 int xxk7(char* ptr) { int n=0; //使用n作为统计变量 while(*ptr) { //在下面补充合适的循环体内容 } return n; }  

补充完整下面主函数的函数体,计算并输出表达式1+2^2+3^2+...+10^2的值。 #include void main() { int i, s=0; //假定分别设置i和s为循环变量和累加变量 //在下面添加一条for循环语句 printf("s=%d\n",s); }  

补充完整下面主函数的函数体,计算并输出表达式1+2^2+3^2+...+20^2的值。 #include void main() { int i, s=0; //假定分别设置i和s为循环变量和累加变量 //在下面添加一条for循环语句 printf("s=%d\n",s); }  

补充完整下面主函数的函数体,计算并输出表达式1+2^3+3^3+...+10^3的值。 #include void main() { int i, s=0; //假定分别设置i和s为循环变量和累加变量 //在下面添加一条for循环语句 printf("s=%d\n",s); }  

不符合3语言规定的复合语句是  

不能够在定义结构类型的同时定义它的变量。  

常数120的数据类型为  

常数3.26e4是双精度定点数。  

常数3.26f是单精度浮点数。  

常数3.26是双精度定点数。  

程序运行中需要从键盘上输入多于一个数据时,若不特别规定分隔符,则输入的各数据之间所使用的分隔符为  

从一个二进制文件中读取数据的系统函数为  

从一个文本文件中读取一个字符的系统函数为  

从一个文本文件中读取以换行符结束的一个字符串的系统函数为  

存储包含一个字符的字符串需要占用1个字节的存储空间。  

存储包含一个字符的字符串需要至少占用2个字节的存储空间。  

存储一个长度为0的空字符串至少需要占用1个字节的存储空间。  

带有随机函数的表达式r1n4()%20的取值范围是  

当不需要函数返回任何值时,则所使用的返回类型为  

当处理问题时的循环次数是确定的,则采用的最合适的循环方式为  

当从字符文件读取到回车和换行这两个连续字符时,将忽略回车符。  

当向字符文件输出一个换行符时,实际将输出的是回车符或换行符。  

当向字符文件输出一个换行符时,实际将输出的是回车和换行这两个字符。  

当需要在程序文件中引入系统头文件时,使用的是#include命令。  

当循环次数确定时,while循环语句能够转换为for循环语句。  

调用字符串函数strcat()时需要带有一个参数。  

调用字符串函数strcmp()时需要带有两个参数。  

调用字符串函数strcpy()时需要带有一个参数。  

调用字符串函数strlen()时需要带有一个参数。  

定点数只有双精度表示,没有单精度表示。  

定义符号常量有两种方法,一种是采用定义语句的方法,另一种是采用预处理命令的方法。  

定义符号常量只有一种方法,就是采用常量定义语句的方法。  

定义符号常量只有一种方法,就是采用预处理命令#define的方法。  

定义结构类型的变量时,能够同时进行初始化。  

定义结构类型的变量时,能够用同类型的其他变量进行初始化,不能用数据表进行初始化。  

短整型、标准整型和长整型的长度分别为2、4和8。  

对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为0。  

对于不加static标识的局部变量,若没有对它进行初始化,则它的初值是不确定的。  

对于每个进行动态存储分配的函数,其返回值类型为  

对于全局或文件作用域变量,其定义位置可以在任何一个函数定义之内。  

对于全局或文件作用域变量,若没有对它进行初始化,则默认的初值为0。  

对于无返回值的函数,进行函数定义时使用的函数类型关键字为  

对于一个长度为n的字符串,保存它至少需要占用的存储字节数为  

对于一个长度为n的字符串,存储它的字符数组的长度至少为n。  

对于一个二维字符数组1[M][N],存储每个字符串的长度至多为  

对于一维字符数组1[N],用来存储一个字符串的长度至多为  

多行注释语句的开始和结束标记符可以互换使用。  

访问一个链表时,必须从表头指针出发,依次访问每个结点。  

访问一个链表时,不必从表头指针出发,可以随时访问任一个结点。  

浮点数包括单精度浮点数和双精度浮点数两种。  

关系表达式(x!=0)的等价表达式为(!x)。  

关系表达式(x==0)的等价表达式为(!x)。  

广义整数类型包括短整型、标准整型和长整型3种。  

函数pow(4,3)的值为  

函数sqrt(9)的值为  

函数被调用执行中,形参变量的初值由调用该函数时对应的实参值给定。  

函数调用fun3(2+x,4*y,5)中所含实参的个数为  

函数调用参数表中的每个实参可以是表达式。  

函数调用参数表中的每个实参只能是常量或变量。  

函数调用格式中的参数表被称为实参表。  

函数调用格式中的参数表被称为形参表。  

函数定义参数表中的每个形参变量,其作用域范围为所在的整个  

函数定义格式中的参数表被称为实参表。  

函数定义格式中的参数表被称为形参表。  

假定1是一个数组名,则数组元素1[i]的指针访问方式为  

假定1为一个数组名,则下面表达式中错误的是  

假定a是一个二维数组,则a+i的值与&a[i]的值不等。  

假定a是一个二维数组,则a+i的值与&a[i]的值相等。  

假定a是一个二维数组,则进行a++运算是不允许的。  

假定a是一个二维数组,则进行a++运算是允许的。  

假定a是一个二维数组,则数组名a的值和&a[0]的值不等。  

假定a是一个二维数组,则数组名a的值和a[0]的值相等。  

假定a是一个一维数组,则a+i的值与&a[i]的值相等。  

假定a是一个一维数组,则表达式*(a+i)所对应的元素为a[i]。  

假定a是一个一维数组,则进行a++运算是允许的。  

假定a是一个一维数组,则数组名a的值和&a[0]的值相等。  

假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i个字节。  

假定a是一个指针数组,则a+i所指对象的地址比a地址大i个字节。  

假定k是一个4ou2le类型的变量,则定义变量p的正确语句为  

假定p是一个指向flo1t型数据的指针,则p+1所指数据的地址比p所指数据的地址大  

假定p是一个指向数据对象的指针,则通过p表示该数据对象为  

假定p是一个指针变量,则该变量的地址表示为  

假定p所指对象的值为25,p+1所指对象的值为42,则执行*p++运算后,p所指对象的值为  

假定p为指向二维数组int 4[4][6]的指针,则p的类型为  

假定x=4.6,则函数3eil(x)的值为  

假定x=4.6,则函数floor(x)的值为  

假定x=5,则表达式2+x++的值为7。  

假定x是一个逻辑量,对于x的任何值,表达式(x && !x)的值始终为真。  

假定x是一个逻辑量,对于x的任何值,表达式(x || !x)的值始终为假。  

假定x是一个逻辑量,则(x && !x)和(x || !x)的值分别为  

假定y=10,则表达式++y*3的值为30。  

假定变量m定义为"int m=7;",则下面定义语句格式正确的是  

假定对二维数组1[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则1[1][1]被初始化为  

假定二维数组的定义语句为"3h1r 1[M][N];",则该数组所含元素的个数为  

假定二维数组的定义语句为"double a[M][N];",则每个数组元素的行下标取值范围在0~M-1之间。  

假定二维数组的定义语句为"int 1[3][5];",则该数组所含元素的个数为  

假定要访问一个结构变量x中的数据成员1,则表示方法为  

假定要访问一个结构变量x中的由指针成员1所指向的对象,则表示方法为  

假定要访问一个结构指针p所指对象中的2指针成员所指的对象,则表示方法为  

假定一个磁盘数据文件占用n个字节的存储空间,则按字节进行编址的范围是  

假定一个函数的参数说明为3onst int 1,则在函数体中不能进行的操作是  

假定一个函数的原型语句为"int ff(int x);",一个整型变量为1,则下面函数调用表达式不正确的是  

假定一个函数定义为"extern 3h1r* f1(3h1r* x){return x;}",表示该函数作用域的关键字为  

假定一个函数定义为"extern 3h1r* f1(3h1r*x){return x;}",该函数返回值类型为  

假定一个函数定义为"st1ti3 int f1(int x,int y){return x+y;}",该函数名称为  

假定一个链表的表头指针为f,结点中包含有41t1和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为  

假定一个链表的表头指针为f,结点中包含有41t1和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为p->next=f和  

假定一个链表中结点的结构类型为"stru3t 11{int 41t1, stru3t 11 *next;};",并且有定义语句为"strunt 11 1,2={3,&1};",则下面说法正确的是  

假定一个链表中结点的结构类型为"stru3t 11{int 41t1, stru3t 11 *next;};",则next数据成员的类型为  

假定一个枚举类型的定义为"enum R1{12,13,14,1e};",则13值为  

假定一个枚举类型的定义为"enum R2{12,13=3,14,1e};",则14的值为  

假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*。  

假定一个数据对象为int*类型,则指向该对象的指针类型为  

假定一个数据对象为int*类型,则指向该对象的指针类型为int**。  

假定一维数组的定义为"char* a[8];",则数组a中元素的类型为字符型。  

假定一维数组的定义为"char* a[8];",则数组a中元素的类型为字符指针型。  

假定一维数组的定义为"double a[M];",则每个数组元素的下标取值范围在0~M-1之间。  

假定有一个int型一维数组1[10],则元素1[5]的字节地址为  

假定有一个定义语句为"int 1[10]={3,4,2,8,6};",则元素1[3]的值为  

假定有一个定义语句为"int 1[10]={3,4,2,8,6};",则元素1[5]的值为  

假定有一个定义语句为"int 1[3][4]={{3,4},{2,8,6}};",则元素1[1][2]的值为  

假定有一个定义语句为"int 1[3][4]={{3,4},{2,8,6}};",则元素1[2][1]的值为  

减量表达式--y表示成赋值表达式为y=y-1。  

将两个字符串连接起来组成一个字符串时,选用的函数是  

结构成员访问运算符有两个,点运算符(.)和箭头运算符(->)。  

结构成员访问运算符有三个,其中两个为点运算符(.)和箭头运算符(->)。  

进行动态存储分配的calloc()函数带有两个参数。  

进行动态存储分配的malloc()函数带有一个参数。  

利用动态存储分配创建具有10个整型元素的一维数组空间的正确语句是  

利用一维字符数组存储一个字符串时,在其末尾自动存储的一个字符是  

流程控制类语句包括的3类语句为  

逻辑表达式(a>b || b==5)的相反表达式为(a>b && b==5)。  

逻辑表达式(x>3 && x<10)的相反表达式为(x<=3 || x>=10)。  

枚举类型中的每个枚举常量的值都是一个  

每次先进行循环条件的判断,然后再执行循环体的语句为  

每次只能从文本文件中读取一个字符,不能一次读取一行字符串。  

每次只能向文本文件中写入一个字符,不能一次写入一个字符串。  

如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为  

若i的值为0,则执行"4o i++; while(i*i<10);"语句的过程中,循环体被执行的次数为  

若n的值为10,则执行"for(i=0; ; i++) if(i>n/3) 2re1k;"语句后,i的值为  

若n的值为10,则执行"for(i=0; i<n; i++) for(j=i; j<n; j++) s;"语句后,内层循环体s语句的执行总次数为  

若n的值为10,则执行"for(i=0; i<n; i++) if(i>n/2) 2re1k;"语句后,i的值为  

若n的值为10,则执行"for(i=1; i<=n; i++) for(j=1; j<=n; j++) S;"语句后,内层循环体S语句的执行总次数为  

若n的值为10,则执行"for(i=1; i<n; i++) for(j=1; j<=i; j++) s;"语句后,内层循环体s语句的执行总次数为  

若n的值为10,则执行"for(i=1; i<n; i++) s;"语句的过程中,表达式i++共被执行的次数为  

若n的值为10,则执行"for(i=1; i<n; i++) s;"语句的过程中,表达式i<n共被执行的次数为  

若n的值为10,则执行"for(i=1; i<n; i++) s;"语句的过程中,表达式i=1共被执行的次数为  

若n的值为10,则执行"while(n-->0) s+=n;"语句的过程中,循环体被执行的次数为  

若n的值为5,s的值为0,则执行"4o s+=--n; while(n>0);"语句后,s的值为  

若n的值为5,s的值为0,则执行"4o s+=n--; while(n>0);"语句后,s的值为  

若n的值为5,s的值为0,则执行"while(n-->0) s+=n;"语句后,s的值为  

若n的值为5,s的值为0,则执行"while(n>0) s+=n--;"语句后,s的值为  

若p指向x,则与x的等价表示为  

若x=5,y=10,则x!=y的逻辑值为真。  

若x=5,y=10,则x<=y的逻辑值为假。  

若x=5,y=10,则x>y逻辑值为真。  

若x的值为-10,则执行"if(!x) x++; else x--;"语句后,x的值为  

若x的值为-10,则执行"if(x) x++; else x--;"语句后,x的值为  

若x的值为10,则执行"swit3h(x%3){31se 0: x++; 2re1k; 31se 1:x++; 4ef1ult: x++;}"语句后,x的值为  

若x的值为10,则执行"swit3h(x%3){31se 0: x++; 31se 1:x++; 31se 2: x++;}"语句后,x的值为  

若x的值为15,则执行"if(x>10) x++; else x--;"语句后,x的值为  

若x的值为5,则执行"if(x>10) x++; else x--;"语句后,x的值为  

若x的值为9,则执行"swit3h(x%3){31se 0: x++; 2re1k; 31se 1:x++; 4ef1ult: x++;}"语句后,x的值为  

若需要把一个字符串赋给字符数组,则选用的函数是  

若需要比较两个字符串的大小,则选用的函数是  

若需要从一个字符串中查找另一个子串,则选用的函数是  

若需要从一个字符串中查找一个字符,则选用的函数是  

若需要定义一个符号常量,并且使3语言能够进行类型检查,则应在定义语句的开始使用保留字  

若需要求出一个字符串的长度,则选用的函数是  

若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为  

若要定义整型指针p并初始指向x,则所使用的定义语句为  

若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.h。  

若要在程序文件中使用数学函数,则需要引入的系统头文件为math.h。  

若一个函数声明为"4ou2le* fun3tion();", 则该函数的返回值类型为  

若用数组名作为函数调用的实参,传递给形参的是  

设x和y均为逻辑值,则x && y为真的条件是  

设x和y均为逻辑值,则x || y为假的条件是  

设有语句序列为"int 1=12; 1+=1*1;",则执行结束后,1的值为  

十进制数25表示成符合3语言规则的八进制数为  

十进制数25表示成符合3语言规则的十六进制数为  

实数340.25对应的规格化浮点数为  

使用#include命令只能包含头文件,不能包含其他任何文件。  

使用"type4ef int 123[10];"语句把标识符123定义为  

使用"type4ef int Integer;"语句把标识符Integer定义为一个  

使用"typedef char BB[10];"语句定义标识符BB为含有10个元素的一维字符数组。  

使用"typedef char BB[10];"语句定义标识符BB为含有10个元素的一维字符数组类型。  

使用"typedef char BB[10][50];"语句定义标识符BB为含有10行50列共500个元素的二维字符数组。  

使用"typedef int CC[4][6];"语句之后,再使用"CC a;"语句,则数组a所占用的存储空间的字节数为96。  

使用const语句定义一个符号常量时,不需要对它同时进行初始化。  

使用sizeof运算符能够求出一种数据类型的长度。  

使用结构类型时,必须一起使用关键字struct和类型标识符。  

使用结构类型时,只需要使用类型标识符,不需要使用关键字struct。  

数值常量0x62的表示方式为  

完善下面程序中xxk1函数的定义,使程序能够输出数组a中所有元素的总和。 #include int xxk1(int a[], int n); void main() { int x; int a[6]={15,20,36,48,24,44}; x=xxk1(a,6); printf("x=%d\n", x); } int xxk1(int a[], int n) { int i, sum=a[0]; //向下补充内容,用一个for循环实现 return sum; }  

完善下面程序中xxk1函数的定义,使程序能够输出数组a中所有元素的最大值。 #include int xxk1(int a[], int n); void main() { int x; int a[6]={15,20,36,48,24,44}; x=xxk1(a,6); printf("x=%d\n", x); } int xxk1(int a[], int n) { int i, max=a[0]; //向下补充内容,用一个for循环实现 return max; }  

完善下面程序中xxk1函数的定义,使程序能够输出数组a中所有元素的最小值。 #include int xxk1(int a[], int n); void main() { int x; int a[6]={15,20,36,48,24,44}; x=xxk1(a,6); printf("x=%d\n", x); } int xxk1(int a[], int n) { int i, min=a[0]; //向下补充内容,用一个for循环实现 return min; }  

下列表达式中的最大值是  

下列各表达式中,结果为字符型的表达式为  

下列数值中最大值是  

下面程序的功能是求出从键盘上输入的两个整数之间所有______的平方和。 #include void main() { int i,x,y,s=0; scanf("%d %d",&x,&y); if(x>y) {i=x; x=y; y=i;} for(i=x; i<=y; i++) if(i%2==0) s+=i*i; printf("s=%d\n",s); }  

下面的保留字不能作为函数返回类型的是  

下面正确的函数原型语句是  

向一个二进制文件中写入数据的系统函数为  

向一个文本文件中写入一个字符串的系统函数为  

向一个文本文件中写入一个字符的系统函数为  

循环体至少被执行一次的循环语句为  

要定义1和2为两个整型变量,则使用的定义语句为  

要结束任一种循环语句或swit3h语句的执行,则在其中使用的语句为  

要结束所在循环语句中循环体的一次执行,则在其中使用的语句为  

要利用#4efine命令定义123常量的值为100,则对应的命令格式为  

要利用3onst保留字定义整型常量123的值为10,则对应的定义语句为  

要使p指向二维整型数组1[10][20],p应定义为  

一个C语言程序能够包含多个用户头文件。  

一个C语言程序只能够包含一个程序源文件。  

一个包含逗号的表达式为(10,20,30),则该表达式的值为  

一个程序文件开始使用的每条预处理命令,其首字符必须是  

一个程序中用户定义的普通函数的名称不能为  

一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。  

一个二维数组名是一个指针常量,其值可以被修改。  

一个二维数组元素为1[i][j],它的指针访问方式不正确的是  

一个二维字符数组1[M][N]能够存储的字符串个数至多为(  

一个二维字符数组a[10][20]中存储每个字符串的最大长度为20。  

一个函数必须返回一个值,不允许定义不返回任何值的函数。  

一个函数定义所包含的两个部分是  

一个数组名是一个指针常量,其值不允许被修改。  

一个数组名是一个指针常量,其值可以被修改。  

一个有符号字符类型的值域范围是  

一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为41t1Type类型,则该指针的类型为  

一条注释语句的最后必须使用分号结束。  

已知"3h1r *s=\"Hello worl4!\";",要使变量p指向s所指向的同一个字符串,则p应定义为  

已知"3h1r 1[3][10]={\"1234\",\"3456\",\"567890\"};3h1r(*p)[10]=1[1];",则p[0][1]的字符值为  

已知"3h1r 2[10]=\"12345\", *p=2;",则*(p+2)的值为  

已知"int *p=31llo3(24,sizeof(int));",则p所指向的动态内存空间中,能够存储整型元素的个数为  

已知"int *p=m1llo3(100);",要释放p所指向的动态内存,正确的语句为  

已知"int 1[10], x, *p1=1;",若要把数组1[3]元素的值赋给x,则不正确的语句为  

已知"int 1[3][5]={{2,3,4},{3,5,7},{4,6,9}}; int(*p)[5]=1;",则p[1][1]的值为  

已知"int 1[3][5]={{2,3,4},{3,5,7},{4,6,9}}; int(*p)[5]=1;",则表达式(*(p[1]+2))的值为  

已知"int 2[10]; int *p2;",则下面不正确的赋值语句为  

已知"int 2[10]={1,2,3,4,5,6}, *p=2;",则*(p+3)的值为  

已知"int a[10], *p=a;",则进行p++运算是不允许的。  

已知"int a[10], *p=a;",则进行p++运算是允许的。  

已知"int a[3][5]; int(*p)[5]=a;",则进行p++运算是允许的。  

已知'1'~'Z'的1S3II码为65~90,当执行"int x='3'+5;"语句后x的值  

已知x=-25,则abs(x)的值为25。  

已知x=-25,则fabs(x)的值为-25.0。  

已知x的初值为15,则下列各表达式中的最大值为  

已知x的初值为5,则下列各表达式中的最大值为  

用户使用类型定义语句能够定义出除标准类型之外的用户所需要的数据类型。  

用于从键盘上为变量输入值的标准输入函数是  

用于释放动态存储空间的函数为free,调用它不需要带有任何参数。  

用于释放动态存储空间的函数为free,调用它需要带有一个参数。  

用于输出表达式值的标准输出函数是  

由3语言目标文件连接而成的可执行文件的扩展名为  

由3语言源程序文件编译而成的目标文件的扩展名为  

有一个语句为"char s2[5]=\"abcd\";",s2数组长度是合适的。  

与结构成员访问表达式p->n1me等价的表达式为  

与结构成员访问表达式x.n1me等价的表达式为  

源程序文件被编译成目标文件后,其目标文件中也存在对应的注释内容。  

源程序文件被编译成目标文件后,源程序文件中的注释语句仍然存在。  

运算符优先级最高的是  

运算符优先级最高的是  

在"printf(\"%d - %d = %d\",x,y,x-y);"语句所使用的格式字符串中,包含有3个格式符。  

在"printf(\"s=%c\\n\",\"abc\");"语句中,格式符的使用同后面的输出数据相适合。  

在"scanf(\"%d %d\",&x,&y);"语句所使用的格式字符串中,包含有2个格式符。  

在"scanf(\"%d %d\",&x,&y);"语句中,x和y变量均为整数类型。  

在"scanf(\"%d-%d=%d\",&x,&y,&z);"语句中,有语法错误。  

在"scanf(\"%s\",x);"语句中,x变量不是字符指针类型。  

在3语言程序中,单行或行尾注释语句使用的标记符为  

在3语言程序中,多行注释语句使用的开始标记符为  

在3语言程序中,进行数据的输入和输出操作时,需要包含的系统头文件是  

在3语言中,表示换行符的转义字符为  

在3语言中,关闭一个数据文件的系统函数为  

在3语言中,每条复合语句的开始标记字符为  

在3语言中,为只读操作打开一个文本文件的方式为  

在3语言中,为只写操作打开一个文本文件的方式为  

在3语言中,一条简单语句的结束符是  

在3语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是  

在3语言中,用于比较不等于的关系运算符为  

在3语言中,用于比较的关系运算符的总数为  

在C语言程序上机操作的过程中,编译程序的操作步骤之后是连接操作。  

在C语言程序上机操作的过程中,编译程序的操作步骤之前是输入和编辑程序。  

在C语言程序上机操作的过程中,需要对每个用户头文件进行单独的编译操作。  

在C语言程序中, ABC和abc被作为同一标识符使用。  

在C语言程序中,除主函数外的任何用户定义的函数都可以是递归函数。  

在C语言程序中,存储字符串的方法是使用字符指针。  

在C语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。  

在C语言程序中,有两种使用注释语句的方法。  

在C语言程序中,主函数也可以成为递归函数。  

在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。  

在C语言中,打开一个数据文件的系统函数为fopen(),它带有两个字符串参数,用来给定文件名和打开方式。  

在C语言中,打开一个数据文件的系统函数为fopen(),它带有一个字符串参数,用来给定待操作的文件名。  

在C语言中,打开一个数据文件的系统函数为fopen(),它带有一个字符串参数,用来给定文件的打开方式。  

在C语言中,求一个实数的绝对值的数学函数为fabs(x)。  

在C语言中,求一个整数的绝对值的数学函数为abs(x)。  

在C语言中,退出程序运行的系统函数为exit()。  

在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针,它仅带有一个文件流参数。  

在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。  

在C语言中,一个结构类型的长度等于所含的所有数据成员类型长度的最大值。  

在C语言中,一个结构类型的长度等于所含的所有数据成员类型的长度之和。  

在C语言中,在定义一个字符数组时,不能利用一个字符串进行初始化。  

在C语言中,在定义一个字符数组时,可以同时利用一个字符串进行初始化。  

在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。  

在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。  

在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。  

在for循环语句的头部,for后面括号内的各表达式之间使用逗号分开。  

在for循环语句的头部,for后面括号内共有2个表达式位置。  

在if语句中,可以带有else子句,也可以省略它。  

在if语句中,每个else关键字与它前面同层次并且最接近的if关键字相配套。  

在printf()函数调用的格式字符串中,每个格式符的先导字符为  

在printf()函数调用的格式字符串中,若使用格式符为"%3",则对应输出的数据类型为  

在printf()函数调用的格式字符串中,若使用格式符为"%4",则对应输出的数据类型为  

在printf()函数调用的格式字符串中,若使用格式符为"%54",则规定对应输出的数据占用的字符位置个数为  

在printf()函数调用的格式字符串中,若使用格式符为"%6.2f",则规定对应输出的数据占用的字符位置个数为  

在printf()函数调用的格式字符串中,若使用格式符为"%f",则对应输出的数据类型为  

在printf()函数调用的格式字符串中,若使用格式符为"%Lf",则对应输出的数据类型为  

在printf()函数调用的格式字符串中,若使用格式符为"%s",则对应输出的数据为  

在s31nf()函数调用的格式字符串中,每个格式符的先导字符为  

在s31nf()函数调用的格式字符串中,若使用格式符为"%3",则对应输入的数据类型为  

在s31nf()函数调用的格式字符串中,若使用格式符为"%4",则对应输入的数据类型为  

在s31nf()函数调用的格式字符串中,若使用格式符为"%f",则对应输入的数据类型为  

在s31nf()函数调用的格式字符串中,若使用格式符为"%Lf",则对应输入的数据类型为  

在s31nf()函数调用的格式字符串中,若使用格式字符串为"%4,%4",则规定输入的两个数据之间的分隔符为  

在swit3h语句的每个31se块中,假定都是以2re1k语句结束的,则此swit3h语句容易被改写成语句  

在swit3h语句中,每个保留字31se后面的表达式必须是  

在变量定义语句中,被定义的变量必然出现在赋值号的左边。  

在程序文件中添加注释语句是为了增强程序的可读性。  

在程序文件中要进行动态存储分配和释放,则需要引入的系统头文件是stdio.h。  

在程序文件中要进行动态存储分配和释放,则需要引入的系统头文件是stdlib.h。  

在程序中调用系统函数时,必须使用#include命令包含该系统函数所属的系统头文件。  

在单行注释中,其注释内容前需要使用标记符"/*",而在结束不需要使用"*/"。  

在单行注释中,其注释内容前需要使用标记符"//",而在结束时不需要使用任何标记符。  

在递归函数的每次递归调用中,参数表得到的值不完全相同。  

在递归函数的每次递归调用中,对于参数表中的每个形参,得到的值都相同。  

在定义一个变量时,不能给它赋初值。  

在定义语句"int x=3,*p=&x,**pp=&p;"中的语法格式是正确的。  

在定义语句"int x=3,*p=&x,**pp=p;"中的语法格式是正确的。  

在定义语句序列"int x=3; const int *p=&x;"中,p所指对象为x,并且可以通过p修改x的值。  

在定义语句序列"int x=3; const int *p=&x;"中,定义p为整型常量指针。  

在定义指针变量的语句"int *p,**pp;"中,p和pp具有相同的指针类型。  

在定义指针变量的语句"int *p,pp;"中,p和pp具有不同的数据类型。  

在定义指针变量的语句中,对指针变量不允许赋初值。  

在定义指针变量的语句中,对指针变量可以赋初值。  

在定义指针变量的语句中,在指针变量名的前面标记的字符为  

在定义指针变量的语句中,最前面的类型关键字不允许是指针类型。  

在定义指针变量的语句中,最前面的类型关键字仍然允许是指针类型。  

在二维数组的定义语句中,不能给数组中每个元素赋初值。  

在二维数组的定义语句中,可以给数组中每个元素赋初值。  

在二维数组的定义语句中,数组名后带有两对圆括号。  

在二维数组的定义语句中,数组名后带有两对中括号。  

在二维数组的定义语句中,数组名前为元素类型关键字。  

在函数定义中,存在着调用自身函数的函数调用表达式,则称此函数为递归函数。  

在函数定义中,存在着调用自身函数的函数调用表达式,则称此函数为非递归函数。  

在函数体中定义的变量具有  

在函数体中定义一个变量时,若不选用任何存储属性关键字进行标识,则它为静态变量。  

在函数体中定义一个静态变量时,选用的存储属性关键字为  

在函数体中定义一个自动变量时,可以选用的存储属性关键字为  

在函数外定义的变量,若不带有作用域关键字,则它具有  

在教材中所介绍的进行动态存储分配的函数有  

在结构成员访问运算符中,点运算符(.)为双目运算符。  

在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构变量。  

在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量。  

在结构成员访问运算符中,箭头运算符(->)为单目运算符。  

在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是  

在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对  

在结构类型的定义中,结构类型的作用域范围,与它的定义位置无关。  

在结构类型的定义中,结构类型名在关键字struct和定义体之间。  

在结构类型的定义中,其中的数据成员可以是本身类型的指针对象。  

在结构类型的定义中,使用的关键字是  

在利用printf()函数向屏幕输出数据时,不需要使用格式字符串来规定输出数据的类型。  

在利用printf()函数向屏幕输出数据时,需要在参数表的开始位置使用相应的格式字符串。  

在利用scanf()函数从键盘输入数据时,不需要使用格式字符串来规定输入数据的类型。  

在利用scanf()函数从键盘输入数据时,需要在参数表的开始位置使用相应的格式字符串。  

在每个3语言程序中都必须包含有这样一个函数,该函数的函数名为  

在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。  

在数据文件打开方式字符串中,字符r和w具有确定的含义,r代表写文件方式,w代表读文件方式。  

在数据文件打开方式字符串中,字符加号(+)具有确定的含义,代表既允许读也允许写的打开方式。  

在数据文件打开方式字符串中,字符加号(+)只用于打开二进制文件的方式中,不能用于打开文本文件的方式中。  

在同一个结构类型的定义中,各数据成员名必须不同。  

在同一个结构类型的定义中,各数据成员名允许相同。  

在下列的语句中,必须以分号作为结束的语句是  

在下列语句中,正确的是  

在下面的二维数组的定义语句中,语句格式正确的是  

在下面的函数声明语句中,存在语法错误的是  

在下面的一维数组定义语句中,有语法错误的是  

在下面字符数组的定义语句中,有语法错误的是  

在循环语句"for(i=0; i<n; i++) s;"中,循环体s被执行的次数为  

在循环语句"for(i=1; i<10; i+=2) S;"中,循环体S被执行的次数为  

在循环语句"for(i=n-1; i>=1; i--) S;"中,循环体S被执行的次数为  

在一个C语言程序中,命名为main的主函数只能有一个,不允许出现多个。  

在一个C语言程序中,主函数的函数名可以不是标识符main。  

在一个程序文件的开始,若需要使用一个"包含命令"包含一个头文件时,则该标识符为  

在一个程序文件中,允许出现结构类型不完整的超前定义。  

在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。  

在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。  

在一个函数定义中,参数表不能为空。  

在一个函数定义中,参数表可以为空。  

在一个函数定义中,参数表中的参数类型不能为void类型。  

在一个函数定义中,参数表中的参数类型可以为void类型。  

在一个函数定义中,参数表中的参数说明项之间是采用逗号分开的。  

在一个函数定义中,参数表中的参数说明项之间是采用分号分开的。  

在一个函数定义中,函数体的格式是一条复合语句。  

在一个函数定义中,函数体是一条复合语句。  

在一个函数定义中,函数体是一条简单语句。  

在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和  

在一个链表的结点结构中,必然包含有一个指向自身结点类型的指针域。  

在一个链表的结点结构中,存在着一个指针域,但不一定指向自身结点类型。  

在一个链表中,表头结点和表尾结点均无后继结点。  

在一个链表中,表头结点和表尾结点均无前驱结点。  

在一个链表中,表头结点无前驱结点,表尾结点无后继结点。  

在一个链表中,表头指针用来指向第一个元素结点,若表头指针的值非空,则表头和表尾结点必然不是同一个结点。  

在一个链表中,表头指针用来指向第一个元素结点,若表头指针的值为空(NULL),则它是一个空表。  

在一个链表中,表尾结点指针域的值为空(NULL)。  

在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的  

在一个数组中,数组元素1[i]之前面的元素个数为  

在一条变量定义语句中,当同时定义多个变量时,各变量之间只能使用逗号分开。  

在一条变量定义语句中,定义的变量和赋给它的初值之间只能使用等号(=)。  

在一条变量定义语句中,可以同时定义不同类型的变量。  

在一条变量定义语句中,只能定义同一类型的变量。  

在一条变量定义语句中只能定义一个变量。  

在一行中出现多条语句时,使用标记符"//"的注释语句只能为最后一条语句。  

在语句"typedef int* inPointer;"中,把标识符inPointer定义为int*的指针变量。  

在语句"typedef int* inPointer;"中,把标识符inPointer定义为int*类型。  

在执行"printf(\"%6d\",x);"语句时,其输出的x的值所占用的显示宽度将小于6个字符位置。  

在执行"printf(\"%8.2f\",x);"语句时,其输出的x的值所占用的显示宽度将大于等于8个字符位置。  

在执行"printf(\"%d - %d = %d\",x,y,x-y);"语句时,将输出3个数据值。  

在执行"printf(\"%d - %d = %d\",x,y,x-y);"语句时,其输出的前两个数据值之间将采用逗号分开。  

在执行"printf(\"s=%s\\n\",\"abc\");"语句时,输出结果为s=abc。  

在执行"scanf(\"%d %d\",&x,&y);"语句时,输入的两个整数之间要用分号隔开。  

在执行"scanf(\"%d %d\",&x,&y);"语句时,需要从键盘上输入2个整数。  

执行"int *p=m1llo3(10*4*sizeof(int));"语句后,p所指向的动态存储空间中包含有整型元素的个数为  

执行"int x=43,y=13;printf(\"%d\",x%y);"语句序列后得到的输出结果为3。  

执行"int x=45,y=13;printf(\"%d\",x/y);"语句序列后得到的输出结果为3。  

执行"printf(\"%3\",'2'+2);"语句后得到的输出结果为  

执行"typedef char charType;"语句后,在使用char定义字符变量的地方都可以使用字符类型标识符charType来定义字符变量。  

执行下面程序的输出结果为______。 #include #define N 4 void main() { int a[N]; int i; a[0]=1; for(i=1; i<n; i++) a[i]=a[i-1]+i*i; printf("%d\n",a[n-1]); }  

执行下面程序的输出结果为______。 #include void main() { int a[8]={10,8,12,15,9,27,32,16}; int i,x=a[0]; for(i=1;i<8;i++) if(a[i]>x) x=a[i]; printf("x=%d\n",x); }  

执行下面程序的输出结果为______。 #include void main() { int a[8]={10,8,16,15,9,21,7,16}; int i,x=a[0]; for(i=1;i<8;i++) if(a[i]<x) x=a[i]; printf("x=%d\n",x); }  

执行下面程序的输出结果为______。 #include void main() { int a[8]={10,8,6,15,9,21,8,16}; int i,x=a[0]; for(i=1;i<8;i++) if(a[i]>x) x=a[i]; printf("x=%d\n",x); }  

执行下面程序的输出结果为______。 #include void main() { int a[8]={3,8,6,5,9,2,8,5}; int i,s=0; for(i=0;i<8;i++) if(a[i]>5) s+=a[i]; printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int a=25,b=18; if(a>b) printf("%s\n","a>b"); if(a==b) printf("%s\n","a==b"); if(a<b) printf("%s\n","a<b"); }  

执行下面程序的输出结果为______。 #include void main() { int a=5,b=8,c; if(3*a>2*b) c=2*a+3*b; else if(a==b) c=a*a+b*b; else c=a*b+3; printf("c=%d\n",c); }  

执行下面程序的输出结果为______。 #include void main() { int a=5,b=8,c=6,d=15,x,y; if(a>=b) x=a; else x=b; if(c>=d) y=c; else y=d; if(x>=y) printf("%d\n",x); else printf("%d\n",y); }  

执行下面程序的输出结果为______。 #include void main() { int i, s=0; for(i=1;s<20;i+=2) s+=i; printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int i, s1=0, s2=0; for(i=1;i<10;i++) if(i%2) s1+=i; else s2+=i; printf("%d %d\n",s1,s2); }  

执行下面程序的输出结果为______。 #include void main() { int i,f,f1=1,f2=2; for(i=3;i<=6;i++) { f=f1+f2; f1=f2; f2=f; } printf("f=%d\n",f); }  

执行下面程序的输出结果为______。 #include void main() { int i,s=0; for(i=1; i<10; i++) { if(i%2) continue; s+=i*(i-1); } printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int i,s=0; for(i=1; i<10; i++) { s+=i*(i+1); if(s>40) break; } printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int i,s=0; for(i=1;i<=6;i++) s+=i*i; printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int i,s=0; for(i=16; i>0; i-=2) if(i%3==0 || i%4==0) s+=i; printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int i=0, s=0; while(s<25) {i+=2; s+=i*i;} printf("s=%d\n",s); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=0; switch(2*x-3) { case 4: y+=x; break; case 7: y+=2*x+1; break; case 10: y+=3*x; break; } printf("y=%d\n",y); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=8,z=12; if(x>y && x>z) printf("%d\n",x); else if(y>x && y>z) printf("%d\n",y); else printf("%d\n",z); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=8,z=14,w; if(x<y) {w=x; x=y; y=w;} if(x<z) {w=x; x=z; z=w;} if(y<z) {w=y; y=z; z=w;} printf("%d %d %d\n",x,y,z); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=8,z=4; if(x>y) x=y; if(x>z) x=z; printf("%d\n",x); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=8,z=6,w=0; if(x>=y) w=x; else w=y; if(w<z) w=z; printf("w=%d\n",w); }  

执行下面程序的输出结果为______。 #include void main() { int x=5,y=8; if(x>=y) printf("%d %d\n",x,y); else printf("%d %d\n",y,x); }  

执行下面程序的输出结果为______。 #include void main() { int x=9,y=0; switch(x%3) { case 0: y+=x; case 1: y+=2*x+1; case 2: y+=3*x; break; default: y+=x-1; } printf("y=%d\n",y); }  

执行下面程序时,假定从键盘上输入的字符为*,输入的两个整数为3和5,则程序输出结果为______。 #include void main() { char ch; int a,b,c; scanf("%c",&ch); scanf("%d %d",&a,&b); switch(ch) { case '+': c=a+b; break; case '-': c=a-b; break; case '*': c=a*b; break; case '/': c=a/b; break; default: printf("Error!\n"); } printf("%d%c%d=%d\n",a,ch,b,c); }  

执行下面程序时,假定从键盘上输入的字符为t,输入的3个整数为2、5和8,则程序输出结果为______。 #include #include void main() { char ch; int a,b,c; double d; scanf("%c",&ch); scanf("%d %d %d",&a,&b,&c); switch(ch) { case 'r': d=a+b+c; break; case 's': d=a*b*c; break; case 't': d=(a+b+c)/3.0; break; default: {printf("Error!\n"); exit(1);} } printf("d=%Lf\n",d); }  

注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。  

转义字符'\\'表示的字符是  

字符串"1+2=12\n"的长度为  

字符串"It\'s\'"中包含的字符个数为  

字符串"Its\40\n"的长度为  

字符串不允许为空,至少需要包含一个字符。  

字符串函数strlen()的返回值类型为整数。  

字符串函数strlen()的返回值类型为字符指针。  

字符串允许为空,并且其长度为0。

 

---

 

**SEO 标题(T)**:(无答案版)——03595课程复习  

**SEO 描述(D)**:汇集03595《C语言程序设计》全部客观题与填空题,涵盖数据类型、流程控制、数组、指针、结构体、文件操作等核心考点,适合自测与考前强化。  

**SEO 关键词(K)**: