经济学c语言PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b = a;
i = i + 10;
}
other();
}
请按先后顺序写出三次输出的结果
第7页/共39页
4. 程序完善:
程序功能:在主函 数中输入m(m<M) 个整数,用起泡法 降序排序;插入一 个整数t,使其为 降序序列。
#include <stdio.h> #define M 10 void main() { int a[M], m, i, t;
D.实参将其值传给形参,人调才用结培束养时形参并不将值回传给实参。
第3页/共39页
一、选择题
5 有关带参宏替换与函数,下列说法不正确的是: ( )
A.带参宏替换是在预处理时展开,不分配内存空间,而 函数在调用时分配内存空间; B.带参宏替换展开时,通常增加源代码长度,而函数则 占有固定的空间;
C.使用函数和带参宏人替换才,培都养只能得到一个返回值;
{
switch源自文库c)
{ case 'a': putchar('B'); continue;
case '9': break;
case 9: putchar('A');
default: putchar(c); continue;
}
}
}
运行结果为:_________________________
第18页/共39页
二、简答题
41 简述C语言中动态变量及静态变量的特点。
42
简述C程序编译的科作用研,与并教请学举出一个编程过程
中遇到的错误error。
43
请说出在C程序设计人中才,培使养用指针的优点是什么?
在程序中指针为什么必须先赋值再使用?
第12页/共39页
三、程序改错
41 程序功能: 从键盘接收两个字符串,输出其中较大的一个。 #include <string.h> #include <stdio.h> void main ( ) { char *str1, str2[50]; scanf (“%s %s”, str1,str2); if(str1>str2) printf(“str1 is bigger!\n”); printf(“the bigger string is %s\n”, str1); else printf(“str2 is bigger!\n”); printf(“the bigger string is %s\n”, str2); }
void swap( int *p1, int *p2 ) {
int temp; temp=p1; p1=p2; p2=temp; }
swap(pointer_1,pointer_2);
printf("\n%d, %d\n", a, b);
}
第14页/共39页
三、程序改错
43 函数功能:实现行、列长度为N的方阵转置。
本源文件中所有函数使用的全局变量,则该
变量需要使用的存储类别是
。
第6页/共39页
3、执行下列程序过程中,将依次执行三条格式化输出语句。
#include “stdio.h”
other()
int i = 1;
{ static int a = 2;
main()
static int b;
{ static int a;
二、简答题
41 简述运行C语言程序的三个步骤,及每步生成的文件扩展名。 42 简述C语言中局部变量及全局变量的特点。
第20页/共39页
四、程序设计
第21页/共39页
四、程序设计
第22页/共39页
一、多项选择题
11. C 程序上机调试过程主要内容包括:(
)
A.编辑,建立科扩展研名与为教“学.c”的源文件;
函数getchar()的功能。
char choice; do {
printf(“你是否想借书?(y/n)\n”); scanf(“%c”,&choice); getchar( ); } while(choice!=‘y’&&choice!=‘n’);
do-while循环的作用: ______ 函数getchar()的功能:______
第26页/共39页
一、多项选择题
5
已知定义如下,从 A~F 中选择下列表达式正确的运算结果填入括号中。
科研与教学 int a=32, b=26, c=15, z=0, x=1, y=1;
第25页/共39页
一、多项选择题
4
已知 int ()
x(=81;)从xA* ~=Dx+科中3 选研择与下列教表达学式正确的运算结果填入括号中。
( ) (2) x- = x+ = x* =x
A.表达式(1)结果为 人88;才培养 C.表达式(2)结果为-64;
B.表达式(1)结果为 67;
D.表达式(2)结果为 0;
述是:( )
A.break语句,作用是终止当前循环语句的执行,直接跳到
循环体的最外层,bre科ak研语句与可教以学用于跳出if语句;
B.continue语句,功能是结束本次循环,转向循环条件的测
试部分,以判定是否执行下一次循环,continue语句只能用
于循环语句;
人才培养
C.return语句,功能是返回到函数调用点,一个函数中只能 有一个return语句;
第16页/共39页
三、程序分析
42 分析下列函数完成的功能及返回值情况。 int seqsrch(int r[],int n, int k) { int i=n-1; for (; i>=0; i- -) if(r[i]==k) {
printf(“%d\n”,i);
break; }
if(i<0) i=-1;
int c = 10;
register int b= -10;
a = a + 2;
int c = 0;
i = i + 32;
c = c + 8;
c = c + 5;
other();
printf(“i:%da:%db:
printf(“i:%da:%db:
%dc:%d\n”,i,a,b,c);
%dc:%d\n”,i,a,b,c);
D.goto无条件转向语句,一个复合语句之外的goto语句,可 以使程序流程跳转到该复合语句内部
第2页/共39页
一、选择题
4 调用函数时,当实参和形参都是简单变量时,
它们之间数据传递的过程是:( ) A.实参将其地址传给形参,并释放原先占用的存储单元; B.实参将其地址传给形参,调用结束时形参再将其地址回传给实参; C.实参将其值传给形参,调用结束时形参再将其值回传给实参;
B.编译,成功后生成目标文件;
C.链接,成功后生成可执行文件;
D.运行,执行可人执才行培文养件。
第23页/共39页
一、多项选择题
2 编译预处理命令有如下特征: (
)
A.编译预处理命令科均研以#与开教头学;
B.编译预处理命令是语句的一部分,必须以分号结束;
C.宏替换命令作用完全等价与函数调用;
D.文件包含命令中人被才包含培的养文件扩展名一般为“.h”。
0<=j<3),科不研正与确教的学引用为: ( )
A.*(a[i]+j)
B.*(a+i)+j
人才培养
C.*(a[0]+i*3+j) D.*&a[i][j]
第10页/共39页
一、选择题
2
下面对于指针的描述,请选出包含所有正确描述的一组:
① 指针就是地址,变量的指针就是变量的地址;
② 指针能够为函数调用提供一种可返回多值的手段;
⑵ 编写自定义函数link_string(),不使用字符串库函数,将⑴中 去掉空格后的字符串new的正序和反序进行连接,即将反序连 接在正序后,形成一个新的字符串放在字符数组link_new中。 函数原型为:void link_string(char *new, char *link_new);
第19页/共39页
D.宏替换执行时,顺序执行,不占用程序的运行时间, 而函数调用和返回过程都占用程序的运行时间。
第4页/共39页
一、选择题
6 下列程序目的是求1到100的累加和,其中只有一
个不能够完成规定的功能,它是:( )
A.s=0; i=0;
B.s=0; i=1;
科研与教学
while (i<=100)
while (i++<100)
③ 指针算术运算表科示指研针与位教置在学内存一定范围内上下移动;
④ 使用指针变量要按照先赋地址,后访问对象的原则;
⑤ 使用指向变量的指人针才,培来存养取变量的内容是一种间接访问
的方式;
⑥ 指针指向不同基本类型的变量时,指针所占用的内存空间
大小不同。
A.①②③④
B.①②④⑤
C.①②③④⑤ 第11页D/共.3全9页部正确
四、程序设计
编写自定义函数实现规定的功能 ⑴ 编写自定义函数del_char(),将字符串“was it a bar or a bat i
saw”的空格字符删去。画出函数del_char()的流程图或N-S图 函数原型为:void del_char(char *old, char *new);
【提示】字符串old和new分别用来存储原字符串和去掉空格后 的字符串。
void bublesort(int a[], int m)
{ int i, j, temp;
void insert( )
for(i = 0; i < m - 1; i++)
{
for( j = 0; j < m - i 1; j++)
{ int i;
for(i = m - 1; i >= 0; i--)
第13页/共39页
三、程序改错
42 程序功能:利用函数实现两个数从大到小输出。
#include <stdio.h>
void main()
{ void swap( int *p1, int *p2 ); int a, b; int *pointer_1,*pointer_2; scanf("%d, %d", a,b); pointer_1=&a; pointer_2=&b; if(a<b)
第24页/共39页
一、多项选择题
3
下面关于指针的正确描述是科:研(与教学
)
A.指针就是地址,变量的指针就是变量的地址;
BC. .因 指为 针变 算量 术的 运地 算址 的是 意整 义数 是, 指人所 针才以 在培整 内型 存养指 空针 间表 位示 置该 的指 上针 下为 移整 位型;类型;
D.数组名是指向数组的指针变量,可以自加自减方式访问其元素变量。
scanf("%d", &m); printf("Please input m integers: "); for(i = 0; i < m; i++)
bublesort(a, m); scanf("%d", &t); insert(a, m, t); 第8页fo/共r3(9i页= 0; i < m + 1; i++)
{
if(
)
if(a[ j] < a[ j + 1])
{
temp = a[ j];
a[i + 1] = a[i]; else
break;
a[ j + 1] =
}
temp; }
第9页/共39页
一、选择题
1
若已定义二维数组int a[2][3],并已赋值,则
对数组元素 a[i][j]之值(其中0<=i<2,
s+=i++; C.s=0; i=0;
人才培养 s+=i;
D.s=0; i=0;
while (i<100)
while (++i<=100)
s+=++i;
第5页/共39页
s+=i
二、填空题
41 已知表达式a-=a*=a+=b=2式中,若
a=10, 则执行表达式后,a的值是
。
42 在一个C源程序文件中,要定义一个只允许
一、选择题
2
下面标识符中,正确的一组是:( )
A.Smart1 lover?
Key_wisdom
B.print
art21cn.sky 9users
人才培养
C.#define art21cn_sea type
D._decision FLOAT
第1页/共39页
_char
一、选择题
3 关于C语言辅助控制语句的功能和使用,正确的描
void transpose (int a[][], int n) { int i, j, t;
for(i=0; i<n; i++) for(j=0 ;j<n; j++) { t=a[i][j]; a[j][i]=a[i][j]; a[j][i]=t; }
}
第15页/共39页
三、程序分析
41
阅读下面程序段,说明do-while循环及该循环中
return(i); } 函数的功能为:_________________________
第17页/共39页
三、程序分析
43
阅读程序,写出程序的运行结果。
#include <stdio.h>
void main( )
{ int i, c;
char a[]="AaB9EKa";
for (i=2;(c=a[i])!='\0';i++)