C语言期末第五弹
Posted 苏师19大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言期末第五弹相关的知识,希望对你有一定的参考价值。
选择题
1
下列字符序列中,是C语言保留字的是______
A.scanf
C.include
B.sqrt
D.include
点击空白处查看答案
D
2
若已有定义:
int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a, i;其中0≤i≤9,则对a数组元素的引用不正确的是____________
A.a[p- a]
C.p[i]
B.*(&a[i])
D.*(*(a+i))
点击空白处查看答案
D
3
若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是______
A.a=b=c=100
C.d++
B.d=(c=22)-(b++)
D.c+b
点击空白处查看答案
D
4
若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是__________
A.a=4,b=4
C.a=3,b=4
B.a=3,b=3
D.a=4,b=3
点击空白处查看答案
D
5
以下程序的输出结果是________
#include "stdio.h"
#define FUDGF(y) 2.84 + y
#define PR(a) printf("%d", (int) ( a ) )
#define PRINT1(a) PR(a); putchar('\n')
main()
{ int x = 2;
PRINTF1(FUDGF(5) * x);}
A.12
C.1
B.15
D.13
点击空白处查看答案
A
6
以下程序段 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);的输出结果是________
A.DEF
C.A
B.B
D.D
点击空白处查看答案
A
7
char *s1="hello",*s2;s2=s1;则__________
A.s2指向不确定的内存单元
C.不能访问"hello"
B.s1不能再指向其它单元
D.puts(s1);与puts(s2);结果相同
点击空白处查看答案
D
8
若有定义和语句:
int a[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12},
(*prt )[3] = a, *p[4], i;
for(i = 0; i < 4; i++)
p[i] = a[i];
则不能够正确表示a数组元素的表达式是_________
A.(*(p+ 1))[1]
C.p[0][0]
B.a[4][3]
D.prt[2][2]
点击空白处查看答案
B
9
关于指针概念说法不正确的是____________
A.指针变量可以由整数赋,不能用浮点赋
D.一个指针变量只能指向同一类型变量
点击空白处查看答案
A
10
若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是________
A.4
C.3
B.2
D.无定值
点击空白处查看答案
C
11
以下程序的输出结果是_________
main()
{ int a = 2, b =5;printf(“a=%%d,b=%%d\n”,a, b); }
A.a=%2,b=%5
C.a= %d,b=%d
B.a=%%d,b=%%d
D.a=2,b=5
点击空白处查看答案
C
12
为了提高程序的运行速度,在函数中对于整型或指针可以使用_____型的变量。
A.static
C.auto
B.register
D.extern
点击空白处查看答案
B
13
enum a {sum=9,mon=-1,tue}; 定义了________
A.枚举变量
C.3个标识符
B.整数9和-1
D.枚举数据类型
点击空白处查看答案
D
14
设有 int x=11; 则表达式 (x++ * 1/3) 的值是________
A.3
C.12
B.4
D.11
点击空白处查看答案
A
15
sizeof(float)是________
A.一个浮点表达式
C.一种函数调用
B.一个不合法的表达式
D.一个整型表达式
点击空白处查看答案
D
16
若a=1,b=2则 a|b的值是______
A.1
C.0
B.2
D.3
点击空白处查看答案
D
17
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是_________。
A.!(A%2)
C.A%2==1
B.A%2
D.!(A%2==0)
点击空白处查看答案
A
18
以下标识符中,不能作为合法的C用户定义标识符的是______
A.signed
C.to
B._if
D.answer
点击空白处查看答案
A
19
下列程序段的输出结果为_____
float k=0.8567;printf("%06.1f%%",k*100);
A.0085.7%
C.0085.6%
B..857
D.0085.6%%
点击空白处查看答案
A
20
以下程序的输出结果是_________
main()
{ int y=10
for(;y>0;y--)
if(y%3==0)
{ pritnf("%d", --y); continue;} }
A.741
C.875421
B.963
D.852
点击空白处查看答案
D
21
下列定义数组的语句中不正确的是______
A.static int
a[2][3]={1,2,3,4,5,6};
C.static int
a[][3]={{1},{4}};
B.static int
a[2][3]={{1},{4,5}};
D.static int
a[][]={{1,2,3}{4,5,6}};
点击空白处查看答案
D
22
下列定义不正确的是________
A.static char C
C.int max(x,y); int x,y;{ }
B.#define S 345
D.#define PI 3.141592
点击空白处查看答案
C
23
若有定义int a[10],*p=a;,则p+5表示____
C.元素a[6]的值
D.元素a[5]的值
点击空白处查看答案
A
24
以下程序的输出结果是_________
void fun(float *a, float *b)
{ float w; *a = *a + *a;
w = *a; *a = *b;
*b = w; }
main()
{ float x = 2.0, y = 3.0;
float *px = &x, *py = &y;
fun(px, py);printf("%2.0f,%2.0f\n", x, y); }
A.2,3
C.3,2
B.3,4
D.4,3
点击空白处查看答案
B
25
以下read函数的调用形式中,参数类型正确的是_______
A.read(int fd,
int count,char *buf)
C.read(int *buf,
int fd,int count)
B.read(int count,
char *buf,int fd)
D.read(int fd,
char *buf,int count)
点击空白处查看答案
D
26
下列变量定义中合法的是__________
A.short _a=1-.1e-1;
C.long do=0xfdaL;
B.float 2_and=1-e-3;
D.double b=1+5e2.5;
点击空白处查看答案
A
27
一个算法应该具有"确定性"等5个特性,下面对另外4个特性的描述中错误的是________
A.有穷性
C.可行性
B.有零个或多个输出
D.有零个或多个输入
点击空白处查看答案
B
28
以下叙述中不正确的是________
A.C语言中,随机读写方式不适用于文本文件
C.C语言中,顺序读写方式不适用于二进制文件
B.C语言中对二进制文件的访问速度比文本文件快
D.C语言中的文本文件以ASCII码形式存储数据
点击空白处查看答案
C
29
以下正确的字符串常量是__________
A.'abc'
C.JiangSuNormalUniversity
B.'A'
D."\\\"
点击空白处查看答案
D
30
逻辑运算符两侧运算对象的数据类型_________
A.可以是任何类型的数据
C.只能是0或1
B.只能是整型或字符型数据
D.只能是0或非0正数
点击空白处查看答案
A
31
以下程序的输出结果是____________
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[k]); }
A.2
C.3
B.1
D.不确定的值
点击空白处查看答案
D
32
以下程序的输出结果是__________
main()
{ int k =4, m = 1, p;
p = func(k, m);
printf("%d,", p );
p = func(k, m);
printf("%d\n", p ); }
func( int a, int b)
{ static int m, i=2;
i+=m+1;
m=i+a+b;return (m); }
A.8,20
C.8,8
B.8,17
D.8,16
点击空白处查看答案
B
33
为了提高程序的运行速度,在函数中对于整型或指针可以使用_______型的变量。
A.static
C.extern
B.auto
D.register
点击空白处查看答案
D
34
若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为_______
A.printf("%d",*p[5]);
C.printf("%d",*(p+5));
B.printf("%d",p[5]);
D.printf("%d",*(a+5));
点击空白处查看答案
A
35
以下程序中的for循环输出的结果是_____
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i;
for(i=1; i<=NUM;i++);printf("%d\n",i); }
A.9
C.6
B.5
D.8
点击空白处查看答案
A
NUM=8,i++后为9
36
若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为___________
A.p4= &ch;
*p4=getchar();
C.p1= &ch;
scanf("%c";p1);
B.p2=(char *)malloc(1);
scanf(*%c",p2);
D.*p3=getchar();
点击空白处查看答案
D
37
t为int类型,进人下面的循环之前,t的值为0
while( t=1 )
{ ……}
则以下叙述中正确的是______
A.循环控制表达式不合法
C.循环控制表达式的值为0
B.循环控制表达式不合法
D.以上说法都不对
点击空白处查看答案
B
38
全局变量的定义不可能在_________
A.函数内部
C.最后一行
B.文件外面
D.函数外面
点击空白处查看答案
A
39
A.&aa[0]+1
C.&aa[1]
B.aa+1
D.&aa[0]++
点击空白处查看答案
D
40
若有char a[80],*s=a;不正确的输入语句是_________
A.fscanf(stdin,"%c",s);
C.gets(s);
B.fgets(s,80,stdin);
D.scanf("%s",s);
点击空白处查看答案
A
程序设计
01
功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。
#include "stdio.h"
#include "ctype.h"
#include "conio.h"
void fun(char *s,int num)
{
/*********Begin**********/
/********** End **********/
}
int main()
{
char s[10];
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
}
点击空白处查看答案
【参考代码】
int i,j;
char t;
for(i=1;i<num-1;i++)
for(j=i+1;j<num-1;j++)
if(s[i]<s[j]) { t=s[i];s[i]=s[j];s[j]=t;}
程序改错
01
功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.
#include "stdio.h"
int main()
{
int i,a[10],min,k=0;
printf("\n please input array 10 elements\n");
for(i=0;i<10;i++)
/***********ERROR***********/
scanf("%d", a[i]);
for(i=0;i<10;i++)
printf("%d",a[i]);
min=a[0];
/***********ERROR***********/
for(i=3;i<10;i++)
/***********ERROR***********/
if(a[i]>min)
{
min=a[i];
k=i;
}
/***********ERROR***********/
a[k]=a[i];
a[0]=min;
printf("\n after eschange:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\nk=%d\nmin=%d\n",k,min);}
点击空白处查看答案
【改错1】
【参考答案】
scanf("%d",&a[i]);
【改错2】
【参考答案】
for(i=1;i<10;i++)
【改错3】
【参考答案】
if(a[i]<min)
【改错4】
【参考答案】a[k]=a[0];
程序填空
01
功能:文件操作。
# include <stdio.h>
# include <stdlib.h>
int main()
{
/* 定义一个文件指针fp */
/**********FILL**********/
_____ *fp;
char ch, filename[10];
printf("Please input the name of file: ");
scanf("%s", filename); /* 输入字符串并赋给变量filename */
/* 以写的使用方式打开文件filename */
/**********FILL**********/
if((fp=_____(filename, "w")) == NULL)
{
printf("Cannot open the file.\n");
exit(0); /* 正常跳出程序 */
}
/* 关闭文件 */
/**********FILL**********/
_____;}
点击空白处查看答案
【空 1 】
【参考答案】
FILE
【空 2 】
【参考答案】
fopen
【空 3 】
【参考答案】fclose(fp)
以上是关于C语言期末第五弹的主要内容,如果未能解决你的问题,请参考以下文章