⑴ 一些c语言选择填空题,大家帮帮忙吧!
1,两条语句
2,C
3,如果长度大于10就不会受10的限制,有多少位就输出多少
⑵ 谁有大一C语言考试题快考试了,跪求题库··
单项选择题(每小题2分,共50分)
1、一个C程序的执行是从___A__。
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
2、C语言程序的基本单位是___C___。
A、程序行 B、语句
C、函数 D、字符
3、请选出可用作C语言用户标识符的一组标识符___B___。
A、void B、a3_b3 C、For D、2a
define _123 -abc DO
WORD IF ase sizeof
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
以上内容参考:网络-c语言
⑶ c语言填空题
1.一个C源程序中至少应包括一个___主函数_____。
2.若a是int型,且a的初值为6,则计算表达式a+=a-=a*a后,a的值为___-60_____。
3.若有定义:intb=7;floata=2.5,c=4.7;则表达a+(int)(b/3*(int)(a+c)/2)%4的值为__4.5______。
4.若a为整型变量,则表达式(a=4*5,a*2),a+6的值为___26______。
5.以下程序执行后,如果从键盘上输入1289,则输出结果为___9821________。
main()
{
intn1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{
n1=n2%10;
n2=n2/10;
printf(“%d”,n1);
}
}
6.在调用C语言的库函数对字符串进行操作时,应包含的头文件是____string.h__________。
⑷ C语言的填空题~~~~要有详细解释
3.请写出一条输入语句,为字符型变量ch读入数据 scanf("%c",&ch) 。
4. 求余运算符%两边运算对象的数据类型只能是 整型 。
5. 数组名作为函数的实参,传递的是 地址 。
6. 设有定义:int *p,x=5; 请写出使指针p指向变量x的赋值语句 p=&x; 。
7.设有定义:int a[ ]={1,2,3,4,5,6,7,8}; 则数组元素a[a[1]]的值是 3
又是你。 建议你多看看书, 多体会体会
⑸ C语言编程 填空题
(1) 0
(2) (*p)
⑹ 学C语言的高手进来帮忙做下选择填空题吧,谢谢了
先声明,我不是什么高手,错了不要怪我,呵呵
1.( (k % 3 == 0) || (k % 7 ==0))
no\n
2. ch + 32
3.(x == 8)
4.max(a,b)
(z)
教材是谭浩强的吧,我学了五天换其他教材了,现在在重新学C语言,大家一起进步。
⑺ c语言:选择填空
B
B
C
B
B(原则上A也可以)
填空:
y= y/(x+a);
至少执行一次
逐行存储
void rewind(FILE *stream);
5,4
⑻ C语言 选择题填空题
因为1000!的结尾有几个0之和2和5有关,只有5*2才可能出现0,1000!是1*2*3····*1000,将每个数分解,2已经存在,因此只要乘个5就会出现一个0,所以现在要计算的是有多少个5。while(_____) {k++;m=m/5;}
这一句就是计算1···1000这一千个数中每个可以写成5的多少次方,比如10!的结尾就应该有2个0,计算如下:
1为1*5的零次方,2为2*5的零次方,···,5=5的一次方,····,10=2*5的一次方,这里其他数想乘都不会出现0,但只要乘个5就会出现0,10!=1*2*3*4*5*6*7*8*9*10=28*34*52*7=((128*81*7)*2*5)*5
⑼ 请帮我做这3道C语言选择填空题
12.4 k=1时,j=0,a[0]=a[0]+a[1]=1+2=3;j=1,a[1]=a[1]+a[2]=2+3=5.然后j增加1值为2(不满足条件)退出fun函数
k=2,,j=2,s[2]=s[2]+s[3]=3+4=7;while(3<2)为假,结束循环
(因为static int表示静态整形变量,它每次运行后保留函数上一次调用结束时的值,
所以j这时的值是前一次被调用后的值,即j=2,而不是j=0)
for(i=0;i<5;i++)printf("%d",a[k]);输出结果为:35745
12.5 题目有问题
12.9 b是局部变量(只在定义局部变量的大括号内有效),不改变全局变量b的值,而a,c并没有被定义为局部变量,所以运行的结果是2,5,1,1,3,1.答案2,5,1,2,3,-2是错的。
⑽ C语言考试题
我来回答下把:
1.1
2.9
解释:t = (a>b)?a:b等价于t = ((a>b)?a:b),这下应该知道了把
3.96 `(和~键是同一个键)
解释:a=96;96是那个字符的ACSII码值的十进制表示,它的十六进制表示的ASCII码值为60,你可以对96进行除16取余法得到60,然后你去查看下字符的ASCII码 16进制表示的那个表就会发现,它对应的是这个字符,所以就是他了,别和单引号混淆就好,单引号的ASCII码十六进制表示为27
4.a[0] a[1] a[2]
5.1600
6.文本文件 二进制文件 [这个拿的不是很准]
7.fopen fclose fseek
下面:
1.C
解释:a+=a-=a*=a,首先要知道+=,-=,*=的优先级是相同的,但是他们的结合性是由右向左的,所以,他相当于a+=a-=(a=a*a),你还要知道,这是在同一条语句中多次修改同一个变量的值,这里有结合性,可以保证,但是有的时候并不可以,因为语言中明确规定,求值顺序未定义,一般尽可能不要在同一条语句里多次修改同一个变量的值,有的时候还和编译器有关的,a+=a-=(a=a*a)相当于a+=(a=a-(a=a*a)),在a=(a+(a=a-(a=a*a))),所以为0
2.B
3.D
解释:你定义一个带参数的宏#define ADD(x) (x)+(x)
你要知道,宏替换是机械化的替换,不会很智能化的,也就是说
在这里,替换的时候是替换成了这样d=(a+b)+(a+b)*c;所以最后就是80了
4. A
解释:这样理解把, char a[5]; char *p=a;这个是把数组的首地址赋给指针p来初始化指针,你后面再加一句p="abcd";不就是对指针的赋值吗,使指针不再指向数组的首地址,而是指向了字符串的首地址了.相信char *p="abcd";很常见把,呵呵...
5.C
解释:因为k=2,然后执行关系表达式k==0,结果显然判断结果为假,所以不执行循环体
6.C
7.A
指针是不能相加的
8.D
解释:这个应该好好解释下,这个题还好了
struct st{ int n;struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,‘\0’},*p; p=&a[0];
A p++->n B p->n++ C (*p).n++ D ++p->n
分析:首先你要知道,这是定义了一个结构体数组,这个static struct st a[3]={5,&a[1],7,&a[2],9,‘\0’}写的易读一点就是static struct st a[3]={{5,&a[1]},{7,&a[2]},{9,'\0'}},是不是明了了好多.
你做这个题目之前还需要明白一点,即箭头操作符的优先级高于++运算符,然后分析选项
选项A.p++是后缀加,所以执行(p++)->n(即p++->n) 相当于执行p->n,即得到的值是5
选项B. p->n++相当于(p->n)++,由于是后缀加,所以得到的值也是5
选项C.(*p).n++ 就是相当于((*p).n)++,更相当于(p->n)++,所以和上面的是一样的,也是5,为什么它相当于它呢,这就要你看看箭头操作符的由来了,箭头操作符的由来就是为了结合解引用操作符*和点操作符.于一起的.来简化书写,增加可读性
选项D.++p->n 相当于++(p->n),由于是前缀加,所以得到的值为6了
9.C,选择W会格式化
10. B ,数组名其实就相当于一个指针,这里对指针做运算,加1使指针下移
写出运行结果:
1.
10623-9003
2.
6 7 8
填空题:
1.
#include <stdio.h>
#include <math.h>
2. 2
3.break;
4.k+1
编程题:
1.代码如下:
#include<stdio.h>
int main()
{
int i,n;
long s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
s*=i;
printf("%ld",s);
return 0;
}
2.代码如下
#include<stdio.h>
int main()
{
int i,s=0;
for(i=1;i<=100;i++)
s+=i;
printf("%d",s);
return 0;
}
应该没错把,楼主有什么问题可以发消息给我