电信计费模拟实现(C语言)..

电信计费模拟实现(C语言)..
电信计费模拟实现(C语言)..

程序设计报告

( 2012 / 2013 学年第二学期)题目:电信计费模拟实现

专业通信工程

学生姓名

班级学号

指导教师郭剑

指导单位计算机软件教学中心

日期 2013年6月27日

电信计费模拟实现

一、课题内容和要求

电信计费系统主要负责对电信各类客户每月帐单统计、查询、备份等管理工作。本课题以该系统要求编写一个程序,实现对电信计费的模拟。通过此可以,熟练掌握文件读写、函数调用等知识,以及查找、典型算法的设计与应用。

二、需求分析

功能框架图:(见图1)

图1

(1)提供可操作的主菜单:输出个菜单,用于显示以从文件中加载的总客户信息和若干个可选的功能选项。根据客户输入的选项来运行不同的功能,运行不同的函数。(2)进行文本信息的载入:从指定的文件中以链表形式加载所需的客户信息。这里的文件是在编译时就已经指定好的、存在的文本,需设计者预先自己建立好。

(3)查找客户功能:以客户输入的电话号码进行查找对应的客户信息并将它们输出。(4)对现有信息的保存:保存内存中的最新的记录输出到磁盘文件中。这里默认的是保存到原读取文件中并覆盖原来的信息。

(5)将信息备份到另外的一个文本中:通过文件格式读写函数,将源文件信息写到客户提供的目标文件中。

(6)分类合计功能:客户话费小计、长话费小计、通话费合计、客户帐单数量。

三、概要设计

1 主要结构体:

struct consumer //用户信息定义

{

char name1[10]; //客户姓氏

char name2[10]; //客户名

char phone[9]; //电话号码

char YN[2]; //来电显示是否

}yhzl[100];

struct feelist //话单信息定义

{

char number1[9]; //主叫号码

char number2[13]; //被叫号码

char qishi[15]; //通话起始时间

char zhongzhi[15]; //通话终止时间

}hd[300];

struct huafei

{

char haoma[9]; //本人号码

char xingming1[10]; //姓

char xingming2[10]; //名

int y; //月租费

int g; //功能费

double shinei; //市内话费

double changtu; //长途话费

double zonghe; //总和 }hfd[100];

2 主要函数流程图:

(1)装载函数:用于实现用户与系统的交互,显示用户菜单、操作提示等,流程图如图2所示:

图2 图3

(2)查找函数:利用用户输入的号码进行顺序查找并将找到的客户的所有通话记录并输出。见图3

不同

(3)查看账单:利用计算函数和输入的用户号码,,进行顺序查找出用户的通话账单并显示在屏幕上。见图4

(4)检查错误话单:检查号码通话时长是否大于三天,并显示和保存异常话单,如图5

(5)保存文件函数:将用户所有通话记录保存到本文件中。

四、源程序代码

#include

#include

#include

struct consumer //用户信息定义

{

char name1[10]; //姓

char name2[10]; //名

char phone[9]; //电话号码

char YN[2]; //来电显示是否

}yhzl[100];

struct feelist //话单信息定义

{

char number1[9]; //主叫号码

char number2[13]; //被叫号码

char qishi[15]; //通话起始时间

char zhongzhi[15]; //通话终止时间

}hd[300];

struct huafei

{

char haoma[9]; //本人号码

char xingming1[10]; //姓

char xingming2[10]; //名

int y; //月租费

int g; //功能费

double shinei; //市内话费

double changtu; //长途话费

double zonghe; //总和

}hfd[100];

const int a=25, b=6; //a为月租费,b为来电显示费

const double c=0.1,d=0.7; //c为市内电话单价,d为长途电话单价void jisuan(); //计算所有话费信息

void menu(); //显示菜单

double shijian(char [],char []); //计算单次通话时长

void jilu(char []); //显示个人所有通话记录

void xiangxi(char []); //显示个人话费账单

void savefile(char []); //保存个人所有通话记录

void check(char []); //检查号码通话时长是否大于三天,并显示和保存异常话单

int main()

{

int e; //e为所选操作项目序号

char f; //f为记录是否继续操作(Y或N)

char p1[9]; //电话号码字符串

jisuan();

printf(" 欢迎进入电信计费模拟系统\n");

printf("*************************************************************************** **\n");

printf("请输入您的号码:\n");

gets(p1);

menu();

do{

printf("请选择您要进行的操作:\n");

scanf("%d",&e);

switch(e)

{

case 1: jilu(p1); break;

case 2: xiangxi(p1); break;

case 3: savefile(p1); break;

case 4: check(p1); break;

case 0: exit(0);

default: printf("\n%d不可用",e);

}

printf("\n是否继续(Y/N)?\n");

getchar();

f=getchar();

}while(f=='Y'||f=='y');

return 0;

}

void jisuan() //打开文件,并生成“费用详单”文件

{

int i=0,j=0;

int num1; //num1为来电显示费用

double t,changtuhf=0.0,shineihf=0.0,sum=0.0; //changtuhf长途话费累加变量,shineihf市内话费累加变量,sum话费总和

FILE *fp1,*fp2,*fp3;

fp1=fopen("D:\\话单记录.txt","r");

fp2=fopen("D:\\用户资料.txt","r");

fp3=fopen("D:\\费用详单.txt","w");

if(!fp1)

{

printf("file cannot be opened");

exit(0);

}

if(!fp2)

{

printf("file cannot be opened");

exit(0);

}

if(!fp3)

{

printf("file cannot be opened");

exit(0);

}

for(i=0;!feof(fp2);i++)

{

fscanf(fp2,"%s%s%s%s",&yhzl[i].name1,&yhzl[i].name2,&yhzl[i].phone,&yhzl[i].YN);

for(j=0;!feof(fp1);j++)

{

fscanf(fp1,"%s%s%s%s",&hd[j].number1,&hd[j].number2,&hd[j].qishi,&hd[j].zhongzhi);

if(strcmp(yhzl[i].phone,hd[j].number1)==0) //找出所选号码对应的通话记录

{

if(strcmp(yhzl[i].YN,"Y")==0) //判断是否开通来电显示功能

num1=b;

else num1=0;

t=shijian(hd[j].qishi,hd[j].zhongzhi);

if((t-(int)t)>0) t=(int)t+1;

else t=(int)t;

if(hd[j].number2[0]=='0')

changtuhf+=d*t;

else

shineihf+=c*t;

}

}

sum=a+num1+shineihf+changtuhf;

fprintf(fp3,"%-10s%-6s%-10s%-10d%-10d%-15lf%-15lf%-15lf\n",yhzl[i].phone,yhzl[i].name1,yhzl[i].name2,

a,num1,shineihf,changtuhf,sum);

rewind(fp1);

changtuhf=0.0,shineihf=0.0,sum=0.0;

}

fclose(fp1);

fclose(fp2);

fclose(fp3);

}

void menu()

{

printf("*****************************************************************************\n");

printf("请选择需要的服务:\n");

printf("*************************************************************************** **\n");

printf("1-通话记录显示\n");

printf("2-详细话费\n");

printf("3-保存话费\n");

printf("4-检测通话时长异常\n");

printf("0-退出\n");

printf("*************************************************************************** **\n");

}

void jilu(char phone1[]) //利用用户输入的号码进行顺序查找并将找到的客户信息输出

{

int i=0;

FILE *tt;

tt=fopen("D:\\话单记录.txt","r");

if(!tt)

{

printf("file cannot be opened");

exit(0);

}

fscanf(tt,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

while(!feof(tt))

{

if(strcmp(hd[i].number1,phone1)==0)

fprintf(stdout,"%-10s%-10s%-20s%-20s\n",hd[i].number1,hd[i].number2,hd[i].qishi,hd[i].zhongzhi);

i++;

fscanf(tt,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

}

fclose(tt);

}

void xiangxi(char phone1[]) //将用户月租费、功能费、市话费、长途费和合计显示在屏幕上

{

int i=0;

FILE *ss;

ss=fopen("D:\\费用详单.txt","r");

if(!ss)

{

printf("file cannot be opened");

exit(0);

}

fscanf(ss,"%s%s%s%d%d%lf%lf%lf",&hfd[i].haoma,&hfd[i].xingming1,&hfd[i].xingming2,&hfd[i].y,&hfd[i ].g,&hfd[i].shinei,&hfd[i].changtu,&hfd[i].zonghe);

while(!feof(ss))

{

if(strcmp(hfd[i].haoma,phone1)==0)

{

printf(" 用户号码用户姓名月租费功能费市话费长途费合计\n ");

printf("%-10s%-6s%-10s%-10d%-10d%-10.3lf%-10.3lf%-10.3lf\n",hfd[i].haoma,hfd[i].xingming1,hfd[i].xing ming2,hfd[i].y,hfd[i].g,hfd[i].shinei,hfd[i].changtu,hfd[i].zonghe);

break;

}

else

fscanf(ss,"%s%s%s%d%d%lf%lf%lf",&hfd[i].haoma,&hfd[i].xingming1,&hfd[i].xingming2,&hfd[i].y,&hfd[i

].g,&hfd[i].shinei,&hfd[i].changtu,&hfd[i].zonghe);

}

fclose(ss);

}

void savefile(char phone1[]) //将用户的所有通话记录输出到指定文件中

{ int i=0;

FILE *q,*p;

q=fopen("D:\\话单记录.txt","r");

p=fopen("D:\\话单保存.txt","w");

if(!q)

{

printf("file cannot be opened");

exit(0);

}

if(!p)

{

printf("file cannot be opened");

exit(0);

}

fscanf(q,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

while(!feof(q))

{

if(strcmp(hd[i].number1,phone1)==0)

fprintf(p,"%-10s%-10s%-20s%-10s\n",hd[i].number1,hd[i].number2,hd[i].qishi,hd[i].zhongzhi);

i++;

fscanf(q,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

}

printf("您的话单已保存于D盘");

fclose(q);

fclose(p);

}

void check(char phone1[]) //检查号码通话时长是否大于三天,并显示和保存异常话单

{

int i=0;

double t;

FILE *p1,*p2;

p1=fopen("D:\\话单记录.txt","r");

p2=fopen("D:\\ 话单异常.txt","w");

if(!p1)

{

printf("file cannot be opened");

exit(0);

}

if(!p2){

printf("file cannot be opened");

exit(0);

}

fscanf(p1,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

while(!feof(p1))

{

t=shijian(hd[i].qishi,hd[i].zhongzhi);

if(t>4320)

{

fprintf(p2,"%-10s%-10s%-20s%-10s\n",hd[i].number1,hd[i].number2,hd[i].qishi,hd[i].zhongzhi);

if(strcmp(phone1,hd[i].number1)==0)

printf("您的异常通话时长话单为:\n%-10s%-10s%-20s%-10s\n",hd[i].number1,hd[i].number2,hd[i].qishi,hd[i].zhongzhi);

}

else

{

fscanf(p1,"%s%s%s%s",&hd[i].number1,&hd[i].number2,&hd[i].qishi,&hd[i].zhongzhi);

}

i++;

}

fclose(p1);fclose(p2);

}

double shijian(char kt[],char jt[])

{

int tyear,tmonth,tday,thour,tminute,ts;

int kyear,kmonth,year,month;

double t,t1;

tyear=(jt[0]-kt[0])*1000+(jt[1]-kt[1])*100+(jt[2]-kt[2])*10+(jt[3]-kt[3]);

tmonth=(jt[4]-kt[4])*10+(jt[5]-kt[5]);

tday=(jt[6]-kt[6])*10+(jt[7]-kt[7]);

thour=(jt[8]-kt[8])*10+(jt[9]-kt[9]);

tminute=(jt[10]-kt[10])*10+(jt[11]-kt[11]);

ts=(jt[12]-kt[12])*10+(jt[13]-kt[13]);

kyear=kt[0]*1000+kt[1]*100+kt[2]*10+kt[3];

if(kyear%4==0&&kyear%100!=0||kyear%400==0)

year=tyear*527040;

else

year=tyear*525600;

kmonth=(kt[6]-48)*10+(kt[7]-48);

switch(tmonth)

{

case -11: if(kyear%4==0&&kyear%100!=0||kyear%400==0) month=-335; else month=-334; break;

case 0: month=0; break;

case 1: month=kmonth; break;

default: break;

}

t1=year+month*1440+tday*1440+thour*60+tminute+ts/60.0;

t=t1;

return t; //返回值:单次通话时间

}

五、测试数据及其结果分析

(1)主菜单:

图6

(2)主要操作

图7 (3)主要功能

图8

(4)输出的所有话单记录文件

图9 (5)输出账单文件

图10

(6)退出系统

输入0或当出现“是否继续”时输入N

图11

结果分析:1)在输入菜单选项时如果输入的内容不是0-4之间的数字,而是其他数字,系统将显示“不可用,是否继续”,等待下次正确的输入。

2)当结束某项操作时,系统会自动询问用户是否继续查询。

3)当输入文件时,如文件事先未建立,系统将提示file cannot be opened 4)当输出文件时,如文件事先未建立,系统将自行建立。

5)当选择“检查通话时长异常”选项时,系统会提示如果异常将会产生的结果,如果有异常,系统将自动输出异常通话记录。

六、调试过程中的问题

1)输出格式的控制问题:选择选项二中显示详细话单是只能显示用户名,而不能显示姓,输出的号码也不对应。原因是%s无法读入带有空格的字符串,解决方法是将用户姓和名分别存在两个字符串中分别读取和输出。

2)在话单记录末尾添加一条记录时,原有记录减少一条,删除添加的记录,原有记录无法

恢复。原因是在读取最后一条前系统已跳出循环体,解决方法是在while循环外增加一条fprintf语句。

3)保存后在下次运行时出错问题:在保存信息时,应在每个信息之间加空格来保存,否则在文件下次使用时读取就会没有分界点。

4)在判断循环结束时因中间有i++的操作而使再循环时指针溢出问题:因为在循环体中有i++的操作,所以可能出现指针已经指尾而在再次循环时有后移而出错的问题,这里可以通过将while改成do-while来使程序通过。

七、课程设计总结

这次的程序设计实习是一次真正的动手实践过程。从最初的分析课题到设计程序,自己发现问题、讨论并解决问题。让我对未来可能的工作环境有了些许初步的认知,并对所学知识进行了检验,其中不仅对C语言的操作有了进一步的掌握还了解到了程序设计的书写风格及其注释的格式。并且锻炼了团队合作能力、增强了责任意识。

对于这个课题来说,重点在对函数的调用,当然还有不少文件的读写问题。但难点还是函数内部的算法与复杂字符串结构体的结合,其中不乏有需要变通之处。例如,显示详细话单是只能显示用户名,而不能显示姓,输出的号码也不对应。原因是%s无法读入带有空格的字符串,解决方法是将用户姓和名分别存在两个字符串中分别读取和输出。另外在话单记录末尾添加一条记录时,原有记录减少一条,删除添加的记录,原有记录无法恢复。原因是在读取最后一条前系统已跳出循环体,解决方法是在while循环外增加一条fprintf 语句。在这次设计中对于文件的调用十分频繁,此时就需要注意对文件的操作权限,如果操作权限不足,将导致程序运行出错。另外一点要说的就是这个程序用了很多的循环,因此对于循环的控制要十分小心,有时while和do-while的区别也是十分重要的。

这个程序的功能虽然不算复杂,程序本身也不够完备,但想用基础的c语言编好它也并非易事,总的来说一周的努力还是换来了一些成果的!

电信资费管理系统软件需求分析报告

电信资费管理系统软件需求分析报告

软件需求分析报告 电信资费管理系统 学生姓名 _宋坤明 _王超 __ 学号 专业班级计算机科学与技术10-01班院(系)计算机与通信工程 指导教师支俊 完成时间年 11月 12日 成绩

前言项目分工

目 录 一 项当前景文档 .................................................... 错 误!未定义书签。 1. □□□□□□ ............................................. 错误!未定义书签。 !未定义书签。 !未定义书签。 二 软件需求规格说明书 ......................................... 错误!未定义书签。 附 录 .................................................................... 错误!未定义书签。 注:整个目录使用1.5倍行距

一.前景和范围文档 1.业务需求 1.1背景、业务机会和客户需要 随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落。近年来, 电信行业经历了很大的变化,从固定到移动, 从语音到数据, 从电路交换到分组交换, 从窄带到宽带的变化。电信运营商在市场和政策的双重影响下, 正面临着深刻的重组。新技术新业务创造了市场机会, 使新运营商不断兴起。旧运营商为了保持原有的市场份额也经过兼并改组等方式不断扩大业务范围, 争取为客户提供从传统的市话、长话、移动、智能网到新兴的数据。用户将来能够在多个运营商提供的多种电信业务中自由选择。 在这种大背景下, 对电信运营商的计费和其它业务支持系统的要求有了大的变化, 怎么能够达到尽量为用户提供优惠和方便, 以吸引更多用户, 又能够保证企业合理的收益, 降低运营成本, 维持企业的运行和发展的目的。电信计费系统成为了电信行业的运行体系中最重要的支撑系统。从为用户提供综合服务的运营商的角度来看, 一个好的资费系统应具有以下特点: 综合性:能够满足同时从不同的数据源中采集数据,并能够对

C语言模拟试卷2(带答案)

,. 单选题: 1、执行下面的程序段后,变量k中的值为 s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 答案: A 2、设有以下定义: #define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+ (4*5+1) A. 出错 B. 42 C. 48 D. 54 答案: C 3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____ A. 1 B. 2 C. 2.0 D. 2.5 答案: c 4、请选出以下语句的输出结果____ printf("%d\n",strlen("\t\ 065\xff\n")) A. 5 B. 4 C. 8 D. 输出项不合法,无正常输出 答案: B 5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的 else总是与____组成配对关系。 A. 其上面距它最近的,并且没有其他else与其配对的if相配对 B. 在同一行上的if C. 缩排位置相同的if D. 在其之前未配对的if 答案: A 6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y)); 上面程序片段的输出结果是 A. 200 B. 100 C. 100 200 D. 输出格式符不够,输出不确定的值 答案: A 7、请读程序片段(字符串内没有空格字符): printf("%d\n", strlen("ATS\n012\1\\")); 上面程序片段的输出结果是 A. 11 B. 9 C. 10 D. 8 答案: B 8、设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则______ A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 答案: B 9、阅读下列程序: main( ) { int n[3],i,j,k; for(i=0;i〈3;i++) n[i]=0; k=2; for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3 for (j=0;j〈2;j++) n[j]=n[i]+1; printf("%d\n",n[1]); } 下述程序运行后输出结果是 A. 2 B. 1 C. 0 D. 3 答案: D 10、输入一个华氏温度,要求输出摄氏温度。计算公式为: c=5/9(F-32),以下程序正确的是() A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

基于TMN技术的电信计费结算系统

文章编号:10045694(2001)04007004 基于T M N 技术的电信计费结算系统 Ξ 缪庆兵,彭剑明 (中国电信集团云南省电信公司,云南昆明650031) 摘 要:论述了电信计费结算系统建设的理论基础,并对基于TM N 技术的云南省电信计费结算系统具体引用电信管理网(TM N )理论的多层次解决方案进行讨论。进一步说明TM N 目前已成为现代电信网络管理的发展方向。 关键词:电信管理网;电信计费结算系统;结构理论中图分类号:TN 915.07 文献标识码:B Telecomm un ica tion s B ill i ng System Ba sed on T M N M I AO Q ing 2b ing ,PEN G J ian 2m ing ((Y unan T eleco mm unications Corp oration .K unm ing ,650031,Ch ina ) Abstract :T h is thesis discusses the telecomm unicati ons billing system based on TM N .It also intro 2duces the TM N structure theo ry into the p ractice of Yunnan T elecom B illing Center .A nd it further exp lains the app licati on of TM N in modern telecomm unicati ons m anagem ent and its developm ent in the future . Key words :TM N ;telecomm unicati on billing system ;structure theo ry 0 引言 电信计费结算系统作为电信企业的核心系统之一,是电信生产的一个重要环节。电信计费结算系统作为必要的电信业务经营支撑系统,它除了拥有一般计算机应用系统的特性外,其系统设计还应以电信管理网(TM N )的概念作为理论基础,以适应电信生产全程全网特点及业务发展的需要。 计费结算系统与网络管理其他系统一样,建设持续时间较长,对现有计费结算系统进行逐步完善,改造的总原则是:在对系统完善、改造的这个较长的时间内,保证已有的投资得到保护和相应回报,保证系统建设持续地采用先进技术。这样,就须保证系统 的不断变化对系统用户无关,使计费结算管理系统 用户感觉不到计费结算系统发生的变化,从而使目前计费结算系统向集中统一管理方式平滑过渡。 1 电信管理网(T M N )概念的引入 TM N 是为管理开放系统互联(O S I )环境中的 各种电信系统开发的,它是以ISO 的公共管理信息 规程(C M IP )和公共管理信息业务(C M ISE )标准为基础。没有TM N 技术,跨过多个电信计费结算子网提供业务将是非常困难的。图1示出了由分散的计费结算管理过渡到集中统一的TM N 网络管理模式下电信计费结算系统的过程。 TM N 的基本目标是提供规划网络管理的开发 ? 07?第13卷,第4期重庆邮电学院学报2001年12月V o l .13 N o.4 Journal of Chongqing U niversity of Po sts and T elecomm unicati ons D ec .2001 Ξ 收稿日期:20001205 作者简介:缪庆兵(19652),男,云南昆明人,工程师,曾任云南省邮电管理局帐务结算计费中心主任,现就职于美国休斯网络系统公司。

C语言模拟试卷A

安徽农业大学经济技术学院 《C 语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是________。 A )C 语言程序总是从第一个定义的函数开执行 B )在 C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行 D )C 语言程序中的main()函数必须放在程序的开始部分 2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。 A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。 A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。 A)2b B )x_1 C )a@b D)3#h 5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。 A )0~255 B )0~32767 C )0~65535 D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。 A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。 A )8 B )10 C )12 D )14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。 A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。 A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z ); 10.华氏温度f 和摄氏温度c 的关系是)32(9 5-= f c 。已知:float c,f;,由华氏温度f 求摄氏温度c 的不正确的赋值表达式是________。 A )c=5/9(f-32) B )c=5.0/9*(f-32) C )c=5*(f-32)/9 D )c=(float)5/9*(f-32) 11.一个C 程序中要调用sqrt()函数时,应在程序中包含的头文件是________。 A )stdio.h B )math.h C )string.h D )stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是________。 A )A B )65 C )97 D )出错 13.能正确表示逻辑关系“a ≥5或a ≤-1”的C 语言表达式是________。 A )a>=5.or.a<=-1 B) a>=5.and.a<=-1 C) a>=5&&a<=-1 D )a>=5‖a<=-1

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

最新C语言程序设计模拟试题5(附答案)

《C语言程序设计》模拟试题五 一、填空题(40分) 1.计算机软件分为和;C语言适合编 写 . 2.十进制数35=( ) 2 =( ) 8 =( ) 16 3.已知一个数[X]补=11111001,求[X] 原 = 及 X= . 4.设x=2.5,a=7,y=4.7.求下列算术表达式的值. x+a%3*(int)(x+y)%2/3= . 5.将算式|3-e x ln(1+Y)|写成C语言表达 式. 6.设a=5,b=9.则printf(“a=%d,b=%4d”,a,b)输出为: . 7.用C语句写出累加器、累乘 器、计数器. 8.上机操作时,CTRL+F9键的功能是 ,F2键的功能 是ALT+F5键的功能是 . 9.下列程序段对应的数学表达式 是 int t,n,s=0; scanf(“%d”,&n); for(i=1;i<=n;i++) { t=1; for(j=1;j<=i;j++) t=t*j; s=s+t;} 10.以下程序用“顺序查找法”查找数组a中是否存在某一关键字. 请填空. main() {int a[10]={25,57,48,38,12,92,88,48,16,25}; int i,x; scanf(“%d”,&X); for(i=0;i<10;i++) if (x==a[i]) {printf(“Found!The index:%d\n”a[i]);(1) ;} if (2) printf(“Can not found!”); }

二、单选题(15分) 1.一个C程序的执行是从 . A.本程序的main()函数开始,到main函数结束. B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C.本程序的main()函数开始,到本程序文件的最后一个函数结束. D.本程序文件的第一个函数开始,到本程序main函数结束. 2.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式 为 . main() { int a,b,c; 输入语句; printf(“%c%c%c”,a,b,c); } 输入形式:A B C 输出形式:ABC A.scanf(“%c%c%c”,&a,&b,&c); B.scanf(“%c,%c,%c”,&a,&b,&c); C.scanf(“%c %c %c”,&a,&b,&c); D.scanf(“%c%c”,&a,&b); 3.给出下列程序的运行结果 . main() {int i,j,k,x=0; for(i=2;i<=5;i++) for(j=7;j>=3;j-=2) for(k=4;k<=11;k+=4) x++; printf(“x=%d”,x);} A.x=64 B. x=36 C.x=60 D. x=24 4.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值 为 . x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5.以下不正确if语句形式是 . A.if ( x>y && x!=y ); B.if ( x = = y ) x + = y; C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);

C语言自学考试模拟试题及答案

C语言自学考试模拟试题及答案 一、单项选择题 1.各种基本数据类型的存贮空间正确的长度排列为_____C_____. A.Char12?15:6>7?8:9)的值为____C________. A 9 B 8 C 15 D. 1 7.若x=5,y=3 则y*=x+5;y的值为___D____________. A. 10 B. 20 C. 15 D. 30 8.C语言的输入与输出操作是由______C______完成的。 A.输入语句 B.输出语句

【电信计费系统客户帐单管理】电信账单

【电信计费系统客户帐单管理】电信账单程序设计报告 ( xx / xx 学年第二学期) 题目: 专学生班级指导指导日 电信计费系统客户帐单管理业姓名学号教师单位计算机软件教学中心期 xx 年05月29日 电信计费系统客户帐单管理 一、课题内容和要求 客户帐单管理是电信计费系统必备的重要功能模块,主要负责对电信各类客户每月帐单的增加、修改、删除、查询、备份等管理工作。本课题以中国电信企业客户帐单管理模块原型参照,要求基于单链表结构对文件存储的客户帐单数据进行排序、查找、计算、显示等造作。通过此可以,熟练掌握单链表结构、文件读写、函数调用等知识,以及查找、排序典型算法的设计与应用。

二、需求分析 要能提供以下几个基本功能: (1)用户文件与话单文件由程序设计人员预先从键盘上录入,用户资料文件中的数据记录不得少于30条,话单文件中的数据记录不得少于200条,且必须有跨月份、跨年份的通话记录话单。 (2)首先从硬盘读入用户资料和话单记录 (3)对话单进行计费处理,输出费用详单到指定的文件。格式如下:电话号码用户姓名月租费功能费市内电话费用长途电话费用合计 83470000 Zhang Qiang 25.00 6.00 xxxxx xxxxx xxx 83470001 。。。。。。。。。。。。 (4)异常话单提示。有的话单可能是错误的,找出这些话单,不参加计费,另存为一个文件。可能的出错话单有: ①一个号码的通话时长大于三天。 ②一个号码在一个时间存在两条以上的记录。

功能框架图如图1所示 (1)提供可操作的主菜单:输出个菜单,用于显示以从文件中加载的总客户信息和若干个可选的功能选项。根据客户输入的选项来运行不同的功能,运行不同的函数。 (2)显示所有用户的功能:根据选项可将文本里的用户信息在屏幕上显示出来。(3)显示所有账单功能:可将文本里的通话账单在屏幕上显示出来。(4)添加用户功能:可在屏幕上进行直接操作,将用户信息添加到记录里。(5)添加账单功能:操作同上,可将新的通话记录添加到记录里。 (6)按用户民查找功能:输入记录里的用户民,可以查询与之相关的通话账单记录。 (7)按电话号码查找功能:输入记录里的已有电话号码,可以查找相应的通话账单记录。 (8)输出花费功能:在操控台和文本中,直接输出所有的花费详情。

c语言模拟试卷A

《C语言程序设计》模拟试卷A (闭卷考试) 一、选择题(每题 分,共 分) 、以下不正确的 语言标识符是 。 、设有说明: 则表达式 值的数据类型为: 。 、根据下述定义,可以输出字符 的语句是 。

、以下说法中正确的是: 。 语言程序总是从第一个定义的函数开始执行 在 语言程序中,要调用的函数必须放在 函数中定义 语言程序总是从 函数开始执行 语言程序中的 函数必须放在程序的开始部分 、在定义 之后,对 的引用正确的是 。 、以下不能正确赋值的是 。 、设 和 都是 类型,则 循环语句 。 最多执行 次 最多执行 次 是无限循环 循环体一次也不执行 、 语言中表示“在使用 之前,先使 的值加 ”的正确方式是 。 、设有说明 其中 是 。

个指向整型变量的指针 指向 个整型变量的函数指针 一个指向具有 个整型元素的一维数组的指针 具有 个指针元素的一维指针数组,每个元素都只能指向整型量 、在下面关于指针的说法中,错误的一条是 。 变量的指针就是变量的地址 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量 一个指针变量只能指向同一类型的变量 指针变量中只能存放地址(指针) 二、读程序写结果(每题 分,共 分) 、以下程序运行后输出的结果是: 、若输入 ,以下程序的输出结果是:

、以下程序的输出结果是 、以下程序的输出结果是

、以下程序的输出结果是 、以下程序的输出结果是

; 、以下程序的输出结果是 三、程序填空(每空 分,共 分) 、将一个数组中的元素按逆序重新存放。例如原来的顺序为: 要求改为: 。 初始数组

二级C语言资料模拟及历年考试编程题答案

二级C语言资料模拟及历年考试编程题答案

作者: 日期:

模拟一 试题7某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan )和月利率(rate)一定的情况下,住房贷款的月还款额(mo ney)取决于还款月数(mo nth), 计算公式如下。客户打算在5?30年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。 rate(1 rate)month money loa n (1 rate)month 1 (1)定义函数cal_power(x, n)计算x的n次幕(即x n),函数返回值类型是double。 (2)定义函数cal_mo ney(loa n,rate,mo nth)计算月还款额,函数返回值类型是double,要求调用函数cal_power(x, n)计算x的n次幕。 (3)定义函数main(),输入贷款本金loan (元)和月利率rate,输出“还款年限—月还款额表”,还款年限的范围是5?30年,输出时分别精确到年和元。要求调用函数 cal_mon ey(loa n, rate,m on th)计算月还款额。 #in clude double cal_power(double x,i nt n) { int k; double result=1; for(k=1;k<=n; k++) result*=x; return result; } double cal_ mon ey(double loa n, double rate,i nt month) { double result=cal_power(1+rate,m on th); result=loa n*rate*result/(result-1); return result; } void mai n() { int k,year; double loa n,mon ey,rate; sca nf("%lf%lf", &loa n,& rate); for(year=5;year<=30;year++) { mon ey=cal_m on ey(loa n,rate,12*year); prin tf("year=%d,m on ey=%.0f\n",year,m on ey); } } 试题8编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大 于85)、通过(60?84)和不及格(小于60)的学生人数。 运行示例:Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0 > =85:2

电信营业厅收费系统数据库课程设计

《数据库课程设计》 课程设计报告 设计题目:某电信营业厅收费管理系统 学院名称:信息工程学院 专业班级: 姓名: 学号: 目录

1题目要求 某电信营业厅营业收费管理系统 ●实现费用类型、业务员管理; ●实现客户信息管理,客户设有结余金额; ●实现收费管理,自动修改用户的结余金额(用触发器实现); ●创建存储过程统计指定月份各种费用类型的收费情况; ●创建存储过程统计指定日期各业务员的收费情况; ●创建规则限定客户的电话号码是以数字1开头的11位数字组成的号码; ●创建表间关系。 2 需求分析阶段 需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后后来各个阶段的设计,并影响到设计结果是否合理和使用。 需求分析阶段的目标 1.了解电信营业厅营业收费管理系统的基本内容; 2.了解电信营业厅营业收费管理系统的基本业务流程;

3.了解电信营业厅营业收费管理系统对业务员的管理,费用类型管理,客户信息 管理的过程。 4.通过调查和与电信营业厅人员的交流,了解用户对电信营业厅系统的业 务要求,安全性和完整性要求; 需求分析阶段的任务 处理对象: 根据电信营业厅收费系统要完成的功能,该系统有以下数据库信息。 ●收营员信息。包括登录该管理系统的收营员的基本信息,如收营员 编号、收营员编号、密码、收营员年龄。 ●客户信息。包括各个客户的基本信息,如客户手机号码、客户姓名、客户地区信息、客户结余金额等。 ●话费信息。包括该客户每月话费的详细信息,如:通话费、业务费、上网费等。 ●收费管理。包括客户电话、收银员编号、收费金额、收费日期。 1.能够存储所有入网客户的信息,并方便有效的进行相应的数据操作 和管理,主要包括 1)客户入网 2)客户信息的关键字检索查询。 2.能够对客户的交费信息进行查询,这主要包括: 1)客户交费交费纪录 2)客户余额查询 需求分析阶段成果 体会与收获 系统需求分析主要是通过对周边的附近各电信营业厅进行访问,请教,了解电信营业厅运行机制,并通过上网搜索相关电信营业厅的知识。由于 不熟悉电信营业厅的运行规则,在绘制业务流程图和数据流程图时,遇到 很多问题,存在许多考虑不周的问题。反反复复的重新考虑,重新分析和 完善,才逐步把业务弄清楚,最终顺利的完成了需求分析阶段的任务。

C语言模拟试卷A

安徽农业大学经济技术学院 《C语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是___C_____。 A)C语言程序总是从第一个定义的函数开执行 B)在C语言程序中,被调用的函数必须在main( )函数中声明 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.C语言程序的三种基本结构是 A 结构。 A)循环、选择、顺序 B)递归、转移、嵌套 C)for while do-while D)if break continue 3以下选项中不属于C语言的基本数据类型的是__D______。 A)int B)double C)char D)bool 4.以下选项中正确的C语言标识符是_B_______。 A)2b B)x_1 C)a@b D) h#3 5.有以下程序段:int m=0,n=0;char c=’a’; scanf(“%d%c%d”,&m,&c,&n); printf(“%d,%c,%d\n”,m,c,n); 若从键盘上输入98A56(回车)输出结果是____B____。 A)98,A,56 B)98,a,56 C)98,a,0 D)98,A,6 6.以下选项中,和语句k=n++;等价的是__A______。 A)k=n,n=n+1; B)n=n+1,k=n; C)k=++n; D)k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是____B____。 A)8 B)10 C)12 D)14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2),a+b;后,c的值是____A____。 A)2 B)3 C)4 D)5 9.已知:int x,y;float z;,若要给变量x,y,z输入数据,以下正确的输入语句是__C______。 A)scanf("%d,%d,%f",x,y,z); B)scanf("%d,%d,%f\n",&x,&y,&z); C)scanf("%d,%d,%f",&x,&y,&z); D)scanf("%2d,%2d,%3.2f",&x,&y,&z); 10.设有int m=9,n; 则表达式( B )不能使n的值为1。 A.n=m%2 B.n=m/10 C.n=m-1<10?1:2 D.n= m %8 11.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是_B_______。 A)stdio.h B)math.h C)string.h D)stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是____A____。 A)A B)65 C)97 D)出错 13.能正确表示逻辑关系“a≥5或a≤-1”的C语言表达式是__D______。 A)a>=5|a<=-1 B) a≥5||a≤1

c语言模拟试卷及答案

c语言模拟试卷及答案

模拟试题 模拟试卷一 一、选择题 1.逻辑运算符两侧运算对象的数据____ A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下面程序段的输出结果是____ int a=023; printf("%d\n",--a); A.23 B.17 C.18 D.24 3.若有定义:int a[3][4]; 下面不能表示数组a[1][1]的是____。 A. *(a[1]+1) B. *(&a[1][1]) C.(*(a+1))[1] D. *(a+5) 4.设有语句:char str1[]="string",str2[8],*str3,*str4="string";则______不是对库函数strcpy的正确调用。 A. strcpy(str1,"HELLO1"); B. strcpy(str2,"HELLO2"); C. strcpy(str3,"HELLO3"); D. strcpy(str4,"HELLO4"); 5.设有定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是______。 A. *((*prt+1)[2]) B. *(*(p+5)) C. (*prt+1)+2 D.*(*(a+1)+2) 6.有以下程序 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); } 程序运行后输出结果是____。 A.5 B.6 C.7 D.8 7.有以下程序: #include union pw { int i; char ch[2]; } a; main()

C语言模拟试题二

模拟试题二 一、选择题(本大题30分,每小题2分) 1.C语言中不能用来表示整常数的进制是。 A)十进制B)十六进制C)八进制D)二进制 2.C语言规定标识符由等字符组成。 A)字母数字下划线B)中划线字母数字 C)字母数字逗号D)字母下划线中划线 3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 6.以下if语句中语法错误的是。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能表示整数x符合下面两个条件的语句是。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是。 A)表达式1 B)表达式2 C)表达式3 D)语句 9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。 A)地址传递B)单向值传递 C)双向值传递D)随机传递 10.将字符串str2连接到字符串str1中应使用。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有以下定义: int a[10],*p=a; 则*(p+3)表示的是。 A)元素a[3]的地址B)元素a[3]的值 C)元素a[4]的地址D)元素a[4]的值 12.若有如下语句: int *p1,*p2; 则其中int所指的是。 A)p1的类型B)*p1和*p2的类型 C)p2的类型D)p1和p2所能指向变量的类型

C语言模拟题目及答案

:题.选择一1.设float x,y;则以下不合法的赋值语句是______。 x*=y+8; x=y=0; ++x; y=(x%2)/10; 2. 设int k=017,g=111; 执行语句printf(%d,%x,k,g); 的输出是_____。 15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。 for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++); 4. 下面对数组的初始化,错误的是_____。 char s[5]=abc; char s[5]={'a','b','c'}; char s[5]= ; char s[5];s=abc; 5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。 是无限循环 while循环执行10次 循环体语句一次也不执行循环体语句只执行一 次 6. 如果x为int型且为5,则执行if(x--<5) printf(%d,x);else printf(%d,x++);后输出结果是______。 3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用 语句中,含有的实参个数是____。 3 4 5 有语法错 8. 在C语言的if语句中,可用作条件判断的表达式为_____。 算术表达式逻辑表达式 关系表达式任意表达式 9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。 n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。 调用该函数的主调函数的类型定义函数时指定或缺省 的函数类型调用函数时临时决定 return语句中表达式的类型答案:D A B D C B A D C B 二.填空题: 1.如果static int y=8;main(){ int y=3;printf(%d, y);}则输出结果是______。 2. 若int x=120,y=50; 执行printf(%d,(y,x));后输出结果是______。 3. 若int i, a[10]; 则执行语句 for(i=9;i>=0;i--) a[i]=i+5; 后,a[8]的 值为__________。 4. 在C语言中是没有输入输出语句的,而是通过提供库函数______和printf

中国电信在线计费系统(OCS)总体技术方案V0.8

中国电信在线计费系统(OCS)业务需求 中国电信企业标准 版本号:V0.8 中国电信股份有限公司 2005-5

编制说明 在获得移动业务牌照以后,中国电信将成为移动市场竞争的积极进取力量,针对目前激烈竞争的移动市场状况,必须要为预付费/后付费用户提供丰富的业务和灵活的业务资费策略,发挥综合运营商的优势,提供灵活的业务捆绑,并控制预付费用户的欠费风险。现有在线计费整体解决方案存在不同的缺陷,建立一个能够支撑灵活计费需求和市场推广策略的新的在线计费系统正是在此背景下提出的。 本技术规范系列是通过前期大量的市场前期调研和对现有计费解决方案深入分析,参考3GPP提出的在线计费系统解决方案,并结合中国电信预付费业务需求制定的,目的是支撑中国电信在线计费系统整体规划、建设和实施。 本技术规范系列以支持移动业务的在线计费为切入点,提出了中国电信在线计费系统的总体技术方案、业务需求、设备要求和对周边设备的改造要求。新的计费系统整体解决方案借鉴现有方案的优点,基于SID(Share Information Data)提供的统一信息视图,实现了预付费/后付费融合计费、语音/数据的融合计费,并兼顾了机会成本、欠费成本、系统成熟度等关键因素。 在线计费研究项目由中国电信股份有限公司业务支撑中心、技术部提出,并于2005年1月20日成立了由上海研发中心牵头的在线计费项目组。在前期大量的市场调研和标准方案分析的基础上,项目组在2005年4月16日开始了一个多月的规范封闭编制和设计,并于5月底完成了全部规范的初稿,包括《总体技术方案》、《业务需求》、《OCS技术要求》、《OCP接口规范》、《SCP设备改造要求》、《ISMP设备改造要求》和《CCG设备技术要求》共七本分册。 工作组按照项目制建立和运作,项目组织结构如下: 项目负责人:李连祥、刘晓亮 项目组:董斌(组长)、周峰、李洁,张峰,高国文,解彦良,石松奇,梁林志,王巍,戴志强、黄怡婷、曾旸、王晓强、綦群、魏科学、陈松、Cynthia Leung等。 在项目组工作期间,得到了中国电信股份有限公司业务支撑中心张国珍总监、李连祥资深专家及上海研发中心移动通信部秦达主任等领导的大力支持和亲自指导,并对文档提出了许多宝贵的建议和意见。另外,在文档编制过程中,得到了华为、西门子、HP、联创、天源迪克等公司的积极协助,在此一并表示感谢!

C语言程序设计模拟题(含答案).doc

C语言程序设计试题 一、单项选择题(本题共 25 小题,每小题 2 分,共 50 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡 上。错选、多选或未选均无分。 1.以下正确的 C 语言自定义标识符是 __A____。 A. _1a B. 2a_ C. do D. 2.在 C 语言中,错误的常数表示是 ___D____。 A. 0L C. '6' D. 设 int a, x=2; 执行语句 a=x>03*x:x=10 ;后,变量x 的值是 ___B____。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是 ___C______。 A.2,2,0 B. 3, 3,1 C.3,2,0 D.3,2,1 5. 在 C 语言中,字符串"\\TOP\t\65\""的长度是__B_____。 A. 5 B. 7 C. 8 D. 12 6. 设 float x ,由键盘输入: , 能正确读入数据的输入语句是 ___C_____A_。 A. scanf("%5f",&x) B. scanf("%5d",&x); C. scanf("%f",x); D. scanf("%s",&x); 7.逗号表达式a=2*6,a*3,a+5的值是___B______。

A. 12 B. 17 C. 36 D. 41 8.C 语言程序中 , 整型常量的书写形式不包括 ___A______。 A.二进制 B.八进制 C. 十进制 D.十六进制 9.在C语言中,下列运算符中结合性属于自右向左的是________B_。 A. && B. -- C.<< D. -> 10.设int x;,则与计算︱x︱等价的表达式是___B______。 A. x>0-x:x B. x>0x:-x C. x<0x:-x D. x<0-x:-x 11.执行下面的程序段后, k 的值是 __A_____B。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为0 的是 ________C_。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设 int a=11, b=2 ;执行下述程序段后,变量 a 和 b 的值分别是 ___B____。 do { a/=b++; }w hile(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14.在C语言中,下列错误的说法是_______C。 A.函数可以递归调用

相关文档
最新文档