C语言性考
1. 国家开放大学《程序设计基础》形考任务1试题
"1 单选 C语言中函数返回值的类型是由 (A) 决定的.
A. 函数定义时指定的类型
B. return语句中的表达式类型
C. 调用该函数时的实参的数据类型
D. 形参的数据类型"
官网其实有考试题库的,可以去官网看看历年真题,如果找不到的话,利用网络文库、电大题酷小程序、上学吧等考试搜题工具会好很多的。帮你搜了一些题,希望能够帮到你~~~
"2 单选 在函数调用时,以下桥掘掘说法正确的是:(B)。
A. 函数调用后必须带回返回值
B. 实际参数和形式参数可以同名
C. 函数间的数据传递不可以使用全局变量
D. 主调函数和被调函数总是在同一个文件里"
"3 单选 语句int *p;说明了(C)。
A. p是指向一维数组的指针
B. p是指向函数的指针
C. p是指向int型数据的指针
D. p是函数名,该函数返回一指向int型数据的指针"
"4 单选 下列指散敏针的定义不正确的定义是(A )。
A. int *p=&i,i;
B. int *p,i;
C. int i,*p=&i;
D. int i,*p;"
"5 单选 有语句:int a[10],;则(B)是对指针变量p的正确定义和初始化。
A. int p=*a;
B. int *p=a;
C. int p=&a;
D. int *p=&a;"
"6 单选 若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是:( C )。
A. a[p]
B. p[a]
C. *(p+2)
D. p+2"
"7 单选
有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是:(B)。
A. *p+9
B. *(p+8)
C. *p+=9
D. p+8"
"8 单选 被调函数调用结束后,返回到 :(D)敏核。
A. 主调函数中该被调函数调用语句处
B. 主函数中该被调函数调用语句处
C. 主调函数中该被调函数调用语句的前一语句
D. 主调函数中该被调函数调用语句的后一语句"
"9 单选 能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是:(A)。
A. return 这两个数
B. 形参用两个元素的数组
C. 形参用两个这种数据类型的指针
D. 用两个全局变量 "
"10 单选 下列各语句定义了数组,其中哪一个是不正确的( C )。
A. char a[3][10]={""China"",""American"",""Asia""};
B. int x[2][2]={1,2,3,4};
C. float x[2][ ]={1,2,4,6,8,10};
D. int m[][3]={1,2,3,4,5,6}; "
"11 单选 # include <stdio.h>int test(int b){ b*=10;printf(“b=%d ”,b);return b/2;}void main(){ int b=60;b=test(b);printf(“b=%d ”,b);}程序的运行结果是:( D )。
A. b=10 b=60
B. b=10 b=30
C. b=300 b=600
D. b=600 b=300"
"12 单选 如果一个函数作为表达式被调用,则该函数必须是 ( A )。
A. 有返回值的函数
B. 无返回值的函数
C. 有参函数
D. 无参函数"
"13 单选 C语言程序由函数组成,它的( B )。
A. 主函数必须在其它函数之前,函数内可以嵌套定义函数。
B. 主函数可以在其它函数之后,函数内不可以嵌套定义函数。
C. 主函数必须在其它函数之前,函数内不可以嵌套定义函数。
D. 主函数可以在其它函数之后,函数内可以嵌套定义函数。"
2. 电大形考作业C语言程序设计
#include <stdio.h>
#include <string.h>
void main()
{
char InputArray[64];
scanf("%s", InputArray);
int nCnta=0;
int nCntb=0;
int nCntc=0,
int nCntd=0;
for (int i=0;i<strlen(InputArray);i++)
{
switch(InputArray[i])
{
case 'a':
nCnta++;
break;
case 'b'野灶:
nCntb++;
break;
case 'c':
nCntc++;
break;
case 'd'银茄:
nCntd++;
break;
default:
break;
}
}
printf(" a:%d\n b:%d\n c:%d\颂搏扮n d:%d\n", nCnta, nCntb,nCntc, nCntd);
}
3. 电大形考作业C语言程序设计
#include<stdio.h>
#include<stdlib.h>
voidmain(void)
{
intx;
intcnt=0;//用于记录输入整数的个数
FILE*f1;
裂敬搏//定义一个文件指针
f1=fopen("data.txt","w");//在程序所在项目内建立一个空文件
if(f1==NULL)
{//当f1对应的文件没有建立和打开时则退出运行
printf("不能够打开文件! ");
exit(1);
}
printf("从键盘向数据文件输入一批整数,直到输入0时结束! ");
scanf("%d",&x);//从键盘读入一个整数
cnt=1;
while(x!=0)//对每个有效地整数进行处理
{
稿毁inti=0,d[6];
if(x<0){//若为负数则向文件写入一个负号
fputc('-',f1);x=-x;
}
while(x/10!=0)
{
d[i++]=x%10;x=x/10;//用d数组保存整数中的每个数字位
}
fputc(48+x,f1);//把整数的最高位数字写入文件中
while(--i>=0)//依次把整数的后续每位数字写入文件中
fputc(48+d[i],f1);
if(cnt%3==0){
fputc(' ',f1);//每三个整数换行
}else{
fputc('',f1);//不换行则每个整数后写入一个空格
}
scanf("%d",&x);//再肆祥从键盘读入一个整数
cnt++;
}
fclose(f1);//关闭f1所对应的data.txt文件
}
4. 关于C 语言中swap的问题
这个函数为传值调亩庆用,没嫌链有进行传引用调用,应该将函迅者握数形考定义为指针类型,进行传引用调用。
//////////////////////////////////////////////
#include <stdio.h>
void swap(int *x ,int *y)
{int t;
t=*x;
*x=*y;
*y=t;
}
main()
{ int a,b;
a=50; b=60;
swap(&a,&b);
printf("%d# %d#\n",a,b);
}